Add a workaround on GtkBox behavior which does not send allocation requests to children.
[lxde/lxpanel.git] / ChangeLog
CommitLineData
ac5ee186
AG
1* Added support for laptops with multiple batteries.
2* Added a way to scroll through workspaces by using the scroll wheel over
3 the deskno plugin.
a5a4d42e
AG
4* Bunch of fixes for GTK+ 3.0 compatibility.
5* Fixed outdated lxpanel man page.
6* Fixed weather locations query (since YQL was changed recently).
ee3cd18a
AG
7* Converted space plugin into internal PanelSpace widget in liblxpanel.
8* Converted task button into widget class to avoid ambiguous code.
82b8b535 9* Added support for third-party plugins localized descriptions.
5e636e99 10* Implemented "lxpanelctl command ..." to send message to panel plugin.
230200de 11* Added APIs for PanelIconGrid to draw focus on drop.
c28f3a49 12* Converted launch button into widget class for more easy management.
4f059fb3
AG
13* Adjusted PanelIconGrid: min spacing is now 1, no_window flag is now
14 left unset by default, spacing is taken into account on overall size
15 to be consistent on chosen orientation.
a4492fd4 16* Implemented dropping file or folder onto launch bar to create launcher.
6473286a 17* Implemented dragging launchers around launchbars (between panels too).
4f059fb3
AG
18* Implemented dropping file or folder onto free panel space to create
19 launcher.
8ce0881f
AG
20* Implemented dragging launchers from launchbar to some free panel space.
21 When launcher dropped onto another place and former place's launchbar
22 becomes empty, it will not be replaced with a bootstrapping icon (as
4f059fb3
AG
23 it happens when last launcher is removed via configuration dialog)
24 but launchbar will be removed from the panel instead, that behavior
25 is more obvious and sensible.
26* Added stripping scheme from URI menu://applications/... when a launcher
27 is created, only menu-id itself should be used.
5782c9b5
AG
28* Implemented moving plugins across panel by means of middle button drag
29 and drop, i.e. middle-click it then drag, and plugin will follow the
30 mouse until middle button is released.
9d4601f2
AG
31* Merged 'volume' and 'volumealsa' plugins into single plugin which uses
32 the same interface but different driver, in dependency on how it was
33 built - either OSS or ALSA interface is used. Name 'volume' is used
34 for simplicity while 'volumealsa' is supported for compatibility.
895885e3
AG
35* Made default channel in 'volume' plugin definable in config. If there
36 is no config statement then plugin finds first usable one, the same
37 as before.
38* Made clicks for Toggle Mute, Show Slider and Open Mixer actions of the
39 'volume' plugin configurable. Defaults are the same: left-click shows
40 slider, middle-click toggles mute state.
589cd33a 41* Added support for 'PCM' and 'Headphone' channels for OSS mixer.
decc23e2
AG
42* Added support for other (not default one) ALSA cards in 'volume' plugin
43 via 'CardNumber' setting.
650d2ca5
AG
44* Added hotkey support into 'volume' plugin to be able to use multimedia
45 keys for volume changing directly by plugin.
8e846d71 46* Fixed missing libkeybinder initialization (keybinding did not work).
686ea6b9
AG
47* Fixed check for attempt to add a binding for the same hotkey which is
48 already bound elsewhere.
9fc4c110
AG
49* Added a configuration dialog to the 'volume' plugin with all the new
50 settings available to choose and set, including preset of discovered
51 mixers, with ability to type own command as well.
6840d253
AG
52* Fixed crash on action on task window which was deleted while task menu
53 is still opened.
15d3ecb7 54* Fixed "dynamic" panel width allocation.
40b67abd
AG
55* Fixed PanelIconGrid allocation in rigth-to-left languages, it was wrong
56 so some icons might be invisible or placed under other plugins.
27e891a8
AG
57* Removed call to gtk_widget_set_style() from volume slider to fix colors
58 of current theme.
bc10a6da
AG
59* Changed icon size handling on task bar - it may now maintain the same
60 size as rest of icons. It may affect users who are used to have them
61 smaller, it's why this feature was made configurable, corresponding
62 config variable is UseSmallerIcons and default is 1 (old behavior).
bd32289b 63* Changed volume slider popup behavior - it now hides when loses focus.
e28af97a 64* Fixed invalid memory access in weather plugin.
b780053a
AG
65* Fixed incorrect reporting units on "Feel" value in weather plugin. YQL
66 always reports Fahrenheit degrees there.
0a92dd7c 67* Added a safeguard on menu cache returning items with empty Exec line.
c5834533 68* Fixed maximizing windows using task bar, GDK functions not always work.
d7022af2
AG
69* Fixed wrong bind of preferences dialog to the panel, which resulted in
70 other dialogs appear on the same workspace where preferences was.
36951942
AG
71* Expanded launch buttons active area to launchbar borders so if clicked
72 even into desktop corner, it should activate button at that corner.
cf07fc23
AG
73* Fixed few memory leaks in 'batt' plugin.
74* Removed unwanted conversions with energy for charge in 'batt' plugin
f10625d7
AG
75 which will mess up tooltip indications, and may make rate/percentage
76 calculations invalid.
01eabc96 77* Replaced Xclimsg() with Xclimsgx() to be screen aware with X11 message.
6bff912e
AG
78* Added a workaround for WM like MWM which does not properly resize down
79 widgets of panel kind. It still leaves artefacts but is better now.
65feec02
AG
80* Added a workaround on GtkBox behavior which does not send allocation
81 requests to children in some cases, so resizing of launchtaskbar on
82 panel height change was broken.
a5a4d42e
AG
83
840.8.2
85-------------------------------------------------------------------------
4d922895 86* Fixed crash in taskbar plugin after number of desktops was updated.
7129a2f9 87* Fixed incorrect panel geometry initialization.
bd653355 88* Fixed crash with invalid size of icon in _NET_WM_ICON property.
7f7a69a9 89* Fixed memory leak on 'indicator' plugin destruction.
a5a4d42e
AG
90* Replaced old commands:
91 - Use notify send instead of xmessage
92 - Use nm-connection-editor instead of network-admin
4d922895 93
5f289453
AG
940.8.1
95-------------------------------------------------------------------------
17d22719 96* Improved OSS headers detection a bit.
edd6656c
AG
97* Fixed expand setting on plugins with default_expand when more than one
98 is available on the same panel.
d84a9662 99* Fixed icon for task button that retrieved using WM_HINTS.
66f3dd36 100* Fixed wrong PanelIconGrid arrangement in vertical panel orientation.
26ddbcdf
AG
101* Fixed missing handlers disconnect when destroying Task structure.
102* Removed writing debug messages to file when 'indicator' plugin is in
103 use - it will write all the debug there and that changes the behavior
104 which was not intended really.
714670bf 105* Corrected background for 'indicator' plugin.
a4fdf966 106* Fixed update 'indicator' plugin on configuration changes.
d8a48b39
AG
107* Fixed battery status: if discharge rate is 0 then it's charged.
108* Fixed incorrect cycle in netproc_devicelist_clear() leading to crash on
109 resume (after suspend).
110* Fixed scanning for temperature sensors which failed with some kernels.
35e581ff
AG
111* Changed reconfiguring panel behavior: callbacks to plugins will be sent
112 on idle, not immediately to avoid "stuck" spin button (and eventually
113 even crash was possible).
114* Fixed initial icon on 'volumealsa' to show real state instead of muted.
fa2dfe65
AG
115* Fixed 'dclock' updating that it will show time on start, not just on
116 next second change. It would create impression it's slow otherwise.
486e7e56 117* Fixed wrong task button activation on not processed drag of button.
17d22719
AG
118
1190.8.0
120-------------------------------------------------------------------------
53eed543 121* Added workaround for crash in gtk-run with old libmenu-cache.
2a971699
AG
122* Core functions are separated into a private library to allow reliable
123 linking of modules using -Wl,-z,defs.
98c7671a 124* Added macro LXPANEL_CHECK_VERSION() for third party pluguns API check.
6f4cf572 125* Added CONF_TYPE_EXTERNAL support for lxpanel_generic_config_dlg().
9633d713
AG
126* Implemented property "aspect-width" for PanelIconGrid to allow using
127 non-square tray sockets.
ca4eee75
AG
128* Added support for monitors "All" to span panel over all monitors (i.e.
129 to allow pre-0.6.0 behavior).
51abba48 130* Implemented monitors hotplug support.
8fa1b626 131* Fixed popups positioning in multi-monitor environment.
b4bb3f6f
AG
132* Fixed updating panel size if appropriate monitor changed its size or
133 position.
134* Implemented disabling for "Reserve space" button if another monitor
135 lies beyond the edge so reservation will cover it. Also reservation
136 will not be applied in such cases even if set in config manually.
2d744915
AG
137* Some edge and monitors selections in panel configuration dialog may be
138 insensitive now if appropriate edge and monitor combination is not
139 available, to avoid panels stacking one over another.
12ddb4f8 140* Fixed bug with hidden panel disappearing after resolution change.
8a4622e5
AG
141* Add lxpanel_image_new_for_icon() API to replace another (obsolete) API
142 _gtk_image_new_from_file_scaled().
143* Added API panel_config_hotkey_button_new() to use as CONF_TYPE_EXTERNAL
144 widget to allow configure global hotkeys for plugins functions.
f7a4447c
AG
145* Added API lxpanel_apply_hotkey() as a convenient libkeybinder interface
146 to use in modules that also use panel_config_hotkey_button_new(). Now
147 LXPanel requires libkeybinder too.
75d47917
AG
148* Added API panel_config_click_button_new() to configure mouse gestures
149 and panel_config_click_parse() to parse its output.
bf7645fc
AG
150* Added "icon-size-changed" signal to LXPanel which is emitted when icons
151 size in configuration dialog was changed.
8ec08843 152* Improved lxpanel_image_new_for_icon() API to follow panel icons size
6febec6d
AG
153 changes, not only theme changes. This way calls on lxpanel_image_*
154 APIs on theme or panel changes may be eliminated, i.e. code becomes
155 simpler.
5272f2d4
AG
156* Added new lxpanel_image_change_icon() API for simplification reasons so
157 other lxpanel_image_* APIs can be replaced completely.
88f6fc06
AG
158* APIs lxpanel_button_set_icon() lxpanel_button_update_icon() now don't
159 require setting icon size since created button already follows size
160 from panel settings. Also it doesn't require refresh after the panel
161 configuration change.
f7a4447c
AG
162* Disabled scaling up small icons in the taskbar: scaled up icons look
163 bad due to pixelization (patch from Anton Lobashev).
f7a4447c
AG
164* When adding new panel, now correctly edges of monitor where popup was
165 are tried before any other monitors.
5fcaaec5
AG
166* Correctly open 'netstat' plugin own menu on leftclick since rightclick
167 should open panel context menu instead.
0e614d34
AG
168* System critical temperature level in 'thermal' plugin now is properly
169 ignored if manual levels are active.
77067467 170* Fixed click on 'menu' plugin, only image was clickable, not whole area.
981461f6
AG
171* Added API panel_config_int_button_new() for generic plugin config spin
172 button with custom range, not just generic 0...1000.
7281b10b
AG
173* Fixed wrong behavior with PanelIconGrid constrained width after child
174 was removed: size wasn't always renegotiated correctly.
965980f0
AG
175* Fixed range of space reservation in multi-monitor setup (reservation
176 might cover another monitor).
45879f8d
AG
177* Numeric-only string will be saved now double-quoted to distinguish it
178 from number in config.
814756c1 179* Implemented flashing on task with urgency in grouped task list menu.
a47dfeae
AG
180* Disabled flashing on urgency hint if window has focus, most of window
181 managers do the same on window decorations.
4ebd3285
AG
182* Fixed border of 'batt' plugin, it should correctly use panel settings.
183 Also 'Size' setting of it doesn't include border width.
2bbdeeca 184* Allowed default alarmCommand on 'batt' plugin be translated.
2272be09 185* Implemented sorting plugins in Add plugin window in alphabetic order.
68b588ee 186* Fixed font in the weather plugin to use panel settings.
a3cf67bf 187* Added new API lxpanel_button_compose() for future usage by plugins.
a46b378a
AG
188* Added optional volumealsa plugin volume mapping from alsamixer (patch
189 from Peter).
4a1ab23c
AG
190* Added new API lxpanel_button_set_label() to change label of button that
191 was created using some lxpanel_button_*() API.
ddf489b7
AG
192* Added "panel-font-changed" signal to LXPanel to be able follow settings
193 change in font configuration of panel using lxpanel_button_*() API.
2d3ad209
AG
194* Fixed nasty bug with autohidden panel after unhide appeared for short
195 time somewhere at the screen.
2c4d4abe 196* Fixed calendar and configuration windows blinking on their appearance.
66b88e31 197* Fixed panel update when background image changed in configuration.
d1a4f8ad
AG
198* Changed to use persistent background image for panel and Cairo. This
199 way updating background should be faster, and also fixed background
200 of plugins when image is used, both placement and alpha color.
70e7cc8a
AB
201* Urgent window is now always visible on the taskbar irrelevant of the
202 desktop number on which it appears, because urgent window requires
203 user attention (patch from Andy Balaam).
ab1c56ec 204* Moved bit of code that is used out from src/bg.c and discarded src/bg.c
0234f3a2 205 from code used.
c869ce34
AG
206* Dropped setting members of Panel structure: workarea, wa_len, bg.
207* Replaced GtkComboBoxEntry in netstatus plugin window with GtkComboBox.
208* Simplified plugins background setting - they should never use any own
209 background but either use one from panel or from theme (depending on
210 panel configuration). This should improve performance.
74c0ae5e
AG
211* Don't update a whole panel background anymore after some plugin was
212 resized, only update the plugin itself to improve performance.
53eed543 213
66b35a6e
AG
2140.7.2
215-------------------------------------------------------------------------
9a762e63 216* Fixed unhiding panel if it becomes empty and height_when_hidden is 0.
880d25d2
AG
217* Fixed invalid X protocol word size: despite of stating it 32 bit, the X
218 server uses unsigned long which is 64 bit on 64-bit architectures.
219* Adapted to use libmenu-cache >= 1.0.0 - it could show empty folders in
220 the desktop menu.
f90deeee 221* Fixed crash in taskbar after visible task changed name then gone.
50928868 222* Ensured panel background update after some plugin was resized.
c6cfaae8 223* FileManager statement from old config should never be scanned again.
59c0082e 224* Fixed positioning of new created panel, the edge was not saved.
936b5d2f
AG
225* Eliminated hardcoded "xterm" in 'volumealsa' plugin - LibFM has enough
226 means to call terminal when needed.
aaf3b569 227* Fixed crash if 'volumealsa' plugin initialization failed.
9a762e63
AG
228
2290.7.1
230-------------------------------------------------------------------------
aff777b0
AG
231* Fixed search for the gtkrc file.
232* Fixed search path for configuration - it should be not compilation time
233 path but paths using $XDG_CONFIG_DIRS.
234* Fixed incorrect flag for 'launchbar' plugin which marks him expandable.
235* Fixed dragging of task buttons.
236* Corrected using $XDG_MENU_PREFIX to work the same way as libfm does.
237* Fixed using font description, font in gtkrc file was ignored.
238* Improved search for hw sensors in /sys/class/hwmon/ hierarchy.
239* Improved check for critical temperatures in 'termal' plugin, now each
240 individual hardware setting (if available) is also taken into
241 consideration.
242* Fixed parsing alias name in 'weather' plugin settings.
243* Got rid of all individual plugins/*/Makefile - those rules more easily
244 can be contained in the plugins/Makefile.am. Adding a simple plugin
245 basically would mean to add three lines into that file instead of
246 writing whole Makefile.am.
6b697e41 247* Fixed invalid system config path search ("lxpanel" part was missing).
72312227
AG
248* Fixed incorrect requirements in the lxpanel.pc file.
249* Fixed memory leak in the 'volumealsa' plugin.
250* Now 'volumealsa' checks for 'MixerCommand' setting in the configuration
2e836237 251 before guessing it.
27d1361c 252* Fixed color saving in the configuration.
4b9bf724 253* Fixed incomplete resources deallocation in 'volumealsa' plugin.
8c590216 254* Fixed make uninstall (it left plugins installed).
6cc0426a 255* Fixed monitor number set from GUI.
60531c62
AG
256* Fixed hang on netstatus icon in auto-hidden panel.
257* Fixed icon grid compilation with GTK+ < 2.20.
2e836237 258* Fixed compilation without menu-cache.
e9463f99
AG
259* Now man pages are included in the GIT and tarball, not just xml files.
260* Fixed incorrect printf arguments in 'netstatus' plugin.
aff777b0 261
7a5d57c2
AG
2620.7.0
263-------------------------------------------------------------------------
264* New plugin 'launchtaskbar' with combined functionality from 'launchbar'
265 and 'taskbar'. For easy support codebase is merged instead of doing
266 duplicates but appearance is still the same in dependency from mode
267 chosen.
268* Integrated with LibFM, all launching and application selection in the
269 launchbar settings is done by LibFM now.
270* New simpler plugins API implementation, using LibFM plugins loader. In
271 new API some callbacks were simplified and some removed, see all the
272 detailed descriptions in the file plugin.h.
273* New plugins are GtkWidgets now, therefore there is no explicit destroy
274 for them or their data, all will be handled implicitly.
275* Changed config access with simple API similar to libconfig one.
276* Using icon caching from LibFM.
277* Applications properties in the menu are managed by LibFM API, no more
278 calls to lxshortcut application.
279* Setting for file manager is not handled on its own but XDG setting is
280 used now, i.e. default choice for "inode/directory" MIME type.
281* Setting for terminal is handled by LibFM, therefore it is the same as
282 in PCManFM now, no own setting anymore.
283* Replaced configure option --enable-cast-checks with --enable-debug.
284* Replaced 'pager' plugin with former 'wnckpager' one. The 'wnckpager'
285 name is still supported for compatibility but it is the same plugin.
286* Added new plugin 'weather', written by Piotr Sipika.
287* Using drag & drop handling from LibFM in launchbar. It is possible now
288 to use any kind of files as launchbuttons, and folders can receive
289 drops as well.
290* Allowed drag applications from system menu plugin so they now can be
291 dropped somewhere. The obvious example is drop on the desktop.
292* Using human readable sensor names if available (like 'Core 0', etc.).
293* Panel is allowed to hide completely (setting width when hidden to 0).
294* The IconGrid converted into GtkContainer derived class PanelIconGrid.
295* Allowed to use <USER_CONFIG_DIR>/lxpanel/<profile>/gtkrc for the panel
296 custom style setup.
297* The panel itself in not a struct now but a GtkWindow derived class so
298 no special API to destroy it is required.
299* Improved the layout of icons in panel, they will not align to the edge
300 of screen but appropriately to panel height. Some of them did that
301 already but some were aligned to the screen edge without any gap.
302* The button to configure plugin in panel plugins configuration tab is
303 renamed from 'Edit' to 'Properties'.
304* All logging is unified. The option --log is deprecated and isn't used
305 anymore. User can change logs appearance using G_MESSAGES_DEBUG and
306 G_MESSAGES_PREFIXED environment variables (see GLib docs).
307* Old APIs are in place still for backward compatibility with third party
308 plugins but will be dropped later, supposedly on next feature release
309 point. Old APIs are not present in public headers, compatibility is
310 on binary level only.
311* A whole lot of bugfixes.
312
3130.6.x
314-------------------------------------------------------------------------
315***
316
3170.5.x
318-------------------------------------------------------------------------
319***
320
3210.4.x
322-------------------------------------------------------------------------
323***
324
3250.3.x
326-------------------------------------------------------------------------
327***
328
3290.2.9.x
330-------------------------------------------------------------------------
331
3320.2.8.x
333-------------------------------------------------------------------------
334
b72694b3
FC
3350.2.7.2
336-------------------------------------------------------------------------
3371. Add manapages of lxpanelctl.
3382. Supported HWAddr status in netstat plugin.
339
cf186be2
FC
3400.2.7.1
341-------------------------------------------------------------------------
3421. Add manpages.
3432. reduce memory usage and delete unused functions in netstat plugin.
344
3450.2.7
346-------------------------------------------------------------------------
7a61aecd
FC
3471. Fixed compile errors in configure and Makefile.am.
3482. Deleted unused files.
3493. Add a new network status plugin - netstat (testing).
3504. Fixed incorrect path of icons.
3515. Changed icon size to reduce memory usage.
3526. Add LXDE-specific configuration profile for LXPanel.
e68315f5
FC
3537. Use "*.directory" file for the translation of categories if available.
354 #1875624 - LXPanel does not correctly show xdg menus.
ba44a35c 3558. Fixed tintcolor bug (Request ID 1900678).