This is an old revision of the document!
xfce4-weather-plugin
WIP Repository
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]