This is an old revision of the document!
xfce4-weather-plugin
WIP Repository
https://git.xfce.org/users/andre/xfce4-weather-plugin/ + https://git.xfce.org/users/bluesabre/xfce4-weather-plugin/
What works
- Properties dialog
- Weather tooltip
- Weather report dialog
- Plugin button/display (partially)
What needs to be worked
- There is unwanted space between the icon and scrollbox label, so part of the text is not visible
- It's possible to pass a hard-coded value (e.g. 20) as width to gtk_render_layout in weather-scrollbox.c, the results looks ok, but it's a hack prone to side effects. It's necessary to compare how the width was calculated in gtk2 and now, probably values from allocation are different;
- Also the label seems to be a bit off the horizontal center
- Scrollbox is not working correctly in vertical and deskbar modes
- When there are more lines than the scrollbox can display, its labels are not centered
- More test & release a development version
Hint: Follow the instructions provided in https://wiki.xfce.org/dev/howto/panel_plugins#testing_and_releasing_the_plugin to have both versions of this plugin running at the same time.
Deprecations & Warnings
$ make clean && make 2> build.log $ grep "warning:" build.log | wc -l 205 $ grep "warning:" build.log | cut -d: -f5 | sort | uniq -c | sort -n -r 29 comparison of integer expressions of different signedness 24 ‘gtk_misc_set_alignment’ is deprecated [-Wdeprecated-declarations] 24 ‘gtk_misc_get_type’ is deprecated [-Wdeprecated-declarations] 18 ‘gtk_table_get_type’ is deprecated [-Wdeprecated-declarations] 16 ‘gtk_table_attach_defaults’ is deprecated 10 ‘GtkStock’ is deprecated [-Wdeprecated-declarations] 8 ‘gtk_alignment_new’ is deprecated [-Wdeprecated-declarations] 7 ‘symbol_names’ defined but not used [-Wunused-variable] 6 ‘gtk_hseparator_new’ is deprecated 6 declaration of ‘msg’ shadows a parameter [-Wshadow] 3 this statement may fall through [-Wimplicit-fallthrough=] 3 suggest explicit braces to avoid ambiguous ‘else’ [-Wdangling-else] 3 ‘gtk_widget_modify_fg’ is deprecated 3 ‘gtk_table_new’ is deprecated 2 ‘gtk_image_new_from_stock’ is deprecated 2 ‘gdk_cursor_unref’ is deprecated 2 ‘gdk_cursor_new’ is deprecated [-Wdeprecated-declarations] 2 ‘gdk_color_to_string’ is deprecated 2 ‘gdk_color_parse’ is deprecated 2 declaration of ‘daytime’ shadows a global declaration [-Wshadow] 2 comparison between ‘GtkOrientation’ {aka ‘enum <anonymous>’} and ‘enum <anonymous>’ [-Wenum-compare] 2 cast between incompatible function types from ‘void (*)(void *)’ to ‘void (*)(void *, void *)’ [-Wcast-function-type] 1 zero-length gnu_printf format string [-Wformat-zero-length] 1 ‘weather_dummy_log_handler’ defined but not used [-Wunused-function] 1 variable ‘menu’ set but not used [-Wunused-but-set-variable] 1 suggest parentheses around assignment used as truth value [-Wparentheses] 1 ‘soup_session_async_new’ is deprecated 1 no previous declaration for ‘setup_notebook_signals’ [-Wmissing-declarations] 1 no previous declaration for ‘replace_symbol_id’ [-Wmissing-declarations] 1 ‘gtk_widget_modify_bg’ is deprecated 1 ‘gtk_widget_get_requisition’ is deprecated 1 ‘gtk_table_set_row_spacings’ is deprecated 1 ‘gtk_table_set_col_spacings’ is deprecated 1 ‘gtk_scrolled_window_add_with_viewport’ is deprecated 1 ‘gtk_image_set_from_stock’ is deprecated 1 ‘gtk_image_menu_item_set_image’ is deprecated [-Wdeprecated-declarations] 1 ‘gtk_image_menu_item_new_with_mnemonic’ is deprecated 1 ‘gtk_image_menu_item_get_type’ is deprecated 1 ‘gtk_font_selection_dialog_set_font_name’ is deprecated 1 ‘gtk_font_selection_dialog_new’ is deprecated 1 ‘gtk_font_selection_dialog_get_type’ is deprecated [-Wdeprecated-declarations] 1 ‘gtk_font_selection_dialog_get_font_name’ is deprecated 1 ‘gtk_color_button_new_with_color’ is deprecated 1 ‘gtk_color_button_get_color’ is deprecated 1 ‘gtk_button_new_from_stock’ is deprecated 1 ‘gdk_screen_get_monitor_geometry’ is deprecated 1 ‘gdk_screen_get_monitor_at_window’ is deprecated 1 ‘find_largest_interval’ defined but not used [-Wunused-function] 1 ‘err’ may be used uninitialized in this function [-Wmaybe-uninitialized] 1 declaration of ‘debug_mode’ shadows a global declaration [-Wshadow] 1 ‘alt’ may be used uninitialized in this function [-Wmaybe-uninitialized]