Xfce Wiki

Sub domains
 

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]