Commit graph

718 commits

Author SHA1 Message Date
o9000
5b01670a22 Fix lost font setting for desktop name 2015-09-12 03:08:25 +02:00
o9000
00a1803348 if( -> if ( 2015-08-08 08:51:44 +02:00
o9000
03dd8b8483 uevent: Use strchr here 2015-08-08 08:47:32 +02:00
Sebastian Reichel
9e85b6dcfe Battery: Avoid executing ac_connected cmd on startup
Previously ac_connected_cmd was executed during tint2 startup (if
AC is connected during startup).
2015-08-08 06:39:45 +02:00
Sebastian Reichel
0d0b1249c7 Battery: Handle Linux kernel events
The Kernel sends notifications for AC (un)plug and some
other important power supply events, so that we can
instantly update the widget. Apart from that it sends
notifications for any added or removed power supplies,
so that the battery support can be reinitialized (useful
on systems with removable batteries).
2015-08-08 06:31:01 +02:00
Sebastian Reichel
46a6d2c2ad Add Linux kernel event handling code
This is a simple handler for uevents send by the Linux
kernel.
2015-08-08 06:29:54 +02:00
o9000
00b88c2725 battery: Updates for OpenBSD 2015-08-07 08:54:15 +02:00
o9000
10b006ffb2 battery: Updates for OpenBSD 2015-08-07 08:36:02 +02:00
o9000
28272621b0 battery: Capitalize AC state in tooltips 2015-08-07 08:22:54 +02:00
o9000
61d786cf4f battery: Tooltips for FreeBSD (fix format string) 2015-08-07 08:20:34 +02:00
o9000
9d2e62f724 battery: Tooltips for FreeBSD (fix typo) 2015-08-07 08:19:48 +02:00
o9000
6e77b59ef8 battery: Tooltips for FreeBSD 2015-08-07 08:18:26 +02:00
o9000
3a733d7353 battery: Update AC status on FreeBSD 2015-08-07 08:08:53 +02:00
o9000
8df9ed5977 Update type for ac_connected variables 2015-08-07 08:07:51 +02:00
o9000
cf748d6d41 Revert "Remove static clock tooltip buffer" (g_date_time_format uses format strings slightly different from strftime)
This reverts commit 441c420773.
2015-08-07 07:54:13 +02:00
Sebastian Reichel
169278c9d8 tint2conf: add support for ac_connected_cmd and ac_disconnected_cmd 2015-08-07 05:33:33 +02:00
Sebastian Reichel
db490247e0 Battery: support for ac connection event cmd
This add two new config options "ac_connected_cmd" and
"ac_disconnected_cmd". These commands are executed when
AC (mains supply) is connected or disconnected.
2015-08-07 05:22:09 +02:00
Sebastian Reichel
3c45cf29c7 Battery: Split operating system specific code
This removes all operating system specific code from the main
battery file into their own source files. CMake will add the
correct implementation automatically.
2015-08-07 05:08:44 +02:00
Sebastian Reichel
66acd8ed38 Add battery Mains/AC support for Linux
Add initial support for mains/ac adapters. This adds the
state only to the tooltip, but the code has been prepared
to update AC state together with normal battery updates,
so that it's possible to forward the state to the normal
panel area or trigger something on AC (dis)connection.
2015-08-07 04:35:33 +02:00
Sebastian Reichel
d1c22762c4 battery: move percentage calculation to linux code
Only Linux provides detailed energy statistics. The BSDs directly
provide percentage values. This change makes it easier to split
out the BSD code and reduces code overhead on BSD systems.
2015-08-07 04:35:24 +02:00
Sebastian Reichel
441c420773 Remove static clock tooltip buffer
Use GLib's GDateTime to generate the tooltip, so that a
correctly sized string is automatically created.
2015-08-07 02:32:18 +02:00
Sebastian Reichel
edad9bb7f5 Fix memory leak for battery tooltips
Instead of returning a const string, that is fed into strdup, tooltip
functions are now supposed to return allocated strings. This fixes a
memory leak in the battery tooltip.

This is used instead of simply freeing the memory in the battery
tooltip function, since it also avoids a uselesss strdup().
2015-08-07 02:09:53 +02:00
o9000
aa47642161 Merge branch 'multi-battery-support' into 'master'
Multi battery support

Hi ,

I have a couple of patches for the battery widget
making it actually useful on my ThinkPad X250.

-- Sebastian

See merge request !6
2015-08-06 20:38:29 +00:00
Sebastian Reichel
57c38c462c Add support for battery tooltip option in tint2conf 2015-08-06 22:01:02 +02:00
Sebastian Reichel
995ae3c72b fix battery option parsing
Fix copy&paste mistake, battery should be enabled
for obsolete "battery" option instead of obsolete
"systray" option.
2015-08-06 22:01:02 +02:00
Sebastian Reichel
9df55d5ef7 Update copyright info in battery files 2015-08-06 22:01:02 +02:00
Sebastian Reichel
ffd659208a Add battery tooltip support
This adds a new config option 'battery_tooltip' (enabled
by default), which can be used to enable a tooltip for
the battery widget providing details for all installed
batteries.
2015-08-06 22:01:02 +02:00
o9000
a8e1c9d3aa tint2conf: Fix read of panel_monitor (issue #520) 2015-08-05 22:55:16 +02:00
Sebastian Reichel
291be57cde reset color after systray existing message
Currently all messages following the "another systray is running"
message are also printed in red. Fix this by reseting the color
at the end of the message.
2015-08-05 02:42:15 +02:00
Sebastian Reichel
ae375ae526 Split out Linux battery implementation and support multiple batteries
Some notebooks, like the ThinkPad X240 and X250 have two batteries
installed. So far only one of the batteries have been checked by
the tint2 widget making it more or less useless on those systems.

After this patch tint2 will aggregate the data from all batteries
instead.
2015-08-05 02:07:31 +02:00
o9000
84f9f6d0cd Systray: do not move empty icons to the side, as it breaks GTK2 StatusIcon blinking (issue #515) 2015-08-03 19:40:35 +02:00
o9000
ed24d0bd4c Fix command line argument processing (issue #516) 2015-08-03 18:34:12 +02:00
o9000
8eca71ac95 Remove parameter from tooltip_trigger_hide() (issue #516) 2015-08-03 18:20:16 +02:00
o9000
e345c0ddcd tint2conf: Add more mouse events for clock and battery (issue #505) 2015-08-01 09:31:11 +02:00
o9000
c874e76343 Merge branch 'moreclicks' into 'master'
Moreclicks

The two commits in this merge request would allow the user to set up as many as eight extra custom actions via tint2rc.

I've been running these changes (minus the up/down wheel actions) for many months without any obvious issues, mainly to adjust laptop screen brightness via a couple of scripts.

I've just tested the wheel actions and they appeared to work fine. The clock commit should solve issue #505.

I have merely augmented the work of two other people, and appropriate credits/references are indicated in the individual commit messages.

See merge request !5
2015-08-01 07:02:51 +00:00
o9000
687f5f2a1b Systray: use correct pointer type in xembed detection (note: dead code) 2015-08-01 08:45:20 +02:00
o9000
c7aa70f078 Systray: remove SubstructureNotifyMask from XSelectInput 2015-08-01 08:40:56 +02:00
o9000
690fe3f4d8 Systray: remove debugging messages 2015-08-01 08:39:51 +02:00
o9000
e5cd73f4a7 Add debugging function for showing monitor geometry 2015-08-01 08:25:36 +02:00
o9000
7ffc220891 Taskbar: Use consistent behavior when showing/hiding sticky (all desktop) windows 2015-08-01 08:22:08 +02:00
o9000
2799fe9346 Taskbar: better task monitor detection (issue #511) 2015-08-01 00:21:25 +02:00
o9000
e2023b7172 systray: Revert break embedding into 2 steps (breaks transparency for Qt icons) 2015-07-31 10:04:41 +02:00
o9000
9224971407 systray: Proper resize redirect handling 2015-07-31 09:58:17 +02:00
o9000
d492f80468 systray: Redirect resize events 2015-07-31 09:31:03 +02:00
o9000
78bc330448 systray: Break embedding into 2 steps 2015-07-30 23:54:46 +02:00
o9000
4e3989f9f5 Revert "taskbar: Add logging for window_get_monitor()"
This reverts commit 7162c5dea1.
2015-07-30 22:56:01 +02:00
o9000
9624b5d558 Revert "taskbar: Add logging for event_configure_notify()"
This reverts commit b99c5c204b.
2015-07-30 22:55:47 +02:00
o9000
754d9187df systray: Revert change that removed XSyncs 2015-07-27 09:47:00 +02:00
o9000
b99c5c204b taskbar: Add logging for event_configure_notify() 2015-07-26 12:08:59 +02:00
o9000
7162c5dea1 taskbar: Add logging for window_get_monitor() 2015-07-26 11:51:39 +02:00
o9000
e3939a56e1 systray: Set _NET_SYSTEM_TRAY_ICON_SIZE 2015-07-26 11:23:27 +02:00
o9000
ceafe9b281 config: Add missing #if 2015-07-23 23:29:02 +02:00
o9000
263d1ab15f systray: Remove unused variable 2015-07-23 22:08:56 +02:00
o9000
e76202b355 Fix systray rendering when compositor off 2015-07-23 20:38:33 +02:00
o9000
f68eabcf35 config: Prevent segfault if panel_items appears late in the config file 2015-07-23 19:56:34 +02:00
o9000
e218b3fa96 systray: Prevent segfault if systray disabled 2015-07-23 19:38:26 +02:00
o9000
50e21b4077 systray: Trying some variations 2015-07-19 18:06:45 +02:00
o9000
b6a1a1c0f6 systray: Remove unneeded resize 2015-07-19 17:12:41 +02:00
o9000
15e12142ca Minor improvements 2015-07-19 17:10:53 +02:00
o9000
b8c1c29df2 systray: Throttle resize events for misbehaving applications 2015-07-19 16:49:05 +02:00
o9000
4a1880ead0 Move things around in the systray code 2015-07-19 16:12:02 +02:00
o9000
57b878d5e4 Remove debug line 2015-07-16 22:33:13 +02:00
o9000
46aab61bf6 Revert "systray: Process XEmbed events according to spec"
This reverts commit 227dc8e48a.
2015-07-16 22:25:18 +02:00
o9000
227dc8e48a systray: Process XEmbed events according to spec 2015-07-16 21:08:48 +02:00
o9000
68c3205b53 systray: Handle UnmapNotify correctly 2015-07-16 21:08:48 +02:00
o9000
61f0a4ec85 systray: remove icon when reparented away from us 2015-07-16 21:08:47 +02:00
o9000
c606a1a35a systray: Separate reparenting from embedding 2015-07-16 21:08:47 +02:00
o9000
9933399dc4 systray: Withdraw window before reparenting 2015-07-16 21:08:47 +02:00
o9000
5ce8023ef7 systray: Watch for window events before reparenting 2015-07-16 21:08:47 +02:00
o9000
6438c75faf systray: A bit of cleanup 2015-07-16 21:08:47 +02:00
o9000
712097ba45 systray: Make sure we redraw the panel when rendering icons 2015-07-16 14:01:57 +02:00
o9000
9a5cb749ed systray: Workaround for GTK icon resize loop issue 2015-07-16 13:12:42 +02:00
o9000
d730f23027 systray: Trigger icon resize only when necessary 2015-07-16 09:02:13 +02:00
o9000
9f161f2baf More logging 2015-07-16 08:53:25 +02:00
o9000
2570ae2cf6 systray: Resize icons only if necessary 2015-07-15 09:53:09 +02:00
o9000
8d5c2d8cbb tint: remove inner loop from the main event loop 2015-07-14 08:33:13 +02:00
berkley4
fd78e6d886 Allow clicking and mousewheeling on the battery panel
This commit is the same as vimishor's original [*] except that I have
added middle-click and up/down mousewheel actions. In order to fix a
ftbs I also added guards to panel.c, panel.h & tint.c

The following configuration settings have been created :-

battery_lclick_command
battery_mclick_command
battery_rclick_command
battery_uwheel_command
battery_dwheel_command

[*] c78732c46a
2015-07-13 04:57:16 +01:00
berkley4
e84d963ab6 Allow middle click & up/down mousewheel on the clock
The bulk of this commit originally came from David B. Cortarello's
patch (see here - https://gitlab.com/o9000/tint2/issues/430), with me
adding the up/down mousewheel elements.

Under Openbox the middle-click is normally used to display the Openbox
menu and the mousewheel to switch desktop. So I needed to modify tint.c
in order to prevent openbox intercepting the new actions.

This commit creates the following new configuration settings :-

clock_mclick_command
clock_uwheel_command
clock_dwheel_command
2015-07-13 04:10:45 +01:00
o9000
c4fbc2962e tint2conf: Fix bad read of panel_margin 2015-07-12 22:23:25 +02:00
o9000
50a07df5d2 Silence g_thread_init warning 2015-07-12 17:54:40 +02:00
o9000
f61f2af2f4 Updated string files for translations 2015-07-12 17:24:43 +02:00
o9000
90805cb526 tint2conf: Better theme management 2015-07-12 17:01:44 +02:00
o9000
04fe80b498 copy_file(): prevent truncating file if src == dest 2015-07-12 17:01:20 +02:00
o9000
efe9aadb39 Prevent race at startup in detecting screen resolution changes 2015-07-12 14:36:11 +02:00
Sebastiaan Lokhorst
043a0f7ab3 Update old Google Code URLs to new GitLab location. 2015-07-05 11:14:00 +02:00
o9000
574b6bc214 tint2conf: Fix typo to load desktop files from subdirectories 2015-07-04 18:41:04 +02:00
o9000
89e4a5a460 Fix crash in tint2conf (wrong string length in allocation) 2015-07-04 18:31:01 +02:00
o9000
2ebc75944e tint2conf: Sort launchers by name 2015-07-04 17:33:19 +02:00
o9000
9fd9d51010 Fix timer bug (again) 2015-07-04 16:47:29 +02:00
o9000
8242c969e3 Detect compositor at startup 2015-07-04 13:34:42 +02:00
o9000
7cd5c16fca Fix crash when calling stop_timeout from the callback of a repeated timer 2015-07-04 13:34:09 +02:00
o9000
290ddc1fea tint2conf: fix launcher_apps_dir 2015-07-04 08:39:46 +02:00
o9000
47a7013029 Remove noisy debug messages 2015-06-28 11:34:53 +02:00
o9000
a4de005a54 Add missing include 2015-06-26 23:46:43 +02:00
o9000
5abbf168a9 Cosmetic changes 2015-06-25 15:56:36 +02:00
o9000
4d69a0bc33 tint2: Do not rely only on select() to detect new X events, since we sync the socket in the system tray which messes up select 2015-06-25 15:36:47 +02:00
o9000
222eca4099 systray: (disable_transparency=1) detect empty icons whenever a new icon is added, from any process; clear icon area because some icons were failing to redraw 2015-06-21 15:23:55 +02:00
o9000
ea75558ac2 systray: reduce icon flicker by painting on buffer instead of directly on window 2015-06-21 15:00:01 +02:00
o9000
876cae8239 systray: fix black icon background for 32-bit icons when disable_transparency = 1; fix empty icon detection when disable_transparency = 1; fix icon blinking by delaying rendering less aggressively; removed XClearArea on traywin->win (triggers unnecessary redraws); cache icon names; profiling messages updated 2015-06-21 14:50:08 +02:00
o9000
7c3951e3a0 systray: Profiling code. Export environment variable SYSTRAY_PROFILING=1 when running tint2 to enable it 2015-06-19 10:46:29 +02:00