Commit Graph

90 Commits

Author SHA1 Message Date
d4da04a750 move Glib ustring format helper to utils
this formatter is useful for other modules
which want to print Glib exceptions messages
2022-02-05 21:26:48 +01:00
941cf47693 Add config option "reverse-direction" 2022-01-28 19:14:46 +01:00
32d42749f9 use pack_end instead of pack_start 2022-01-28 18:42:52 +01:00
f18eb71ad7 Fix spelling errors
Signed-off-by: Elyes HAOUAS <ehaouas@noos.fr>
2021-10-02 18:13:17 +02:00
fbedc3d133 fix(tray): fix visibility of Passive items
`show_all` call from `Tray::update` attempts to walk the widget tree and
make every widget visible. Since we control individual tray item
visibility based on `Status` SNI property, we don't want that to happen.

Modify `Tray::update` to control the visibility of a whole tray module
only and ensure that the children of `Item` are still visible when
necessary.
2021-10-02 00:08:45 -07:00
4f76c9bd43 Only use g_memdup2 for glib >= 2.68 2021-08-29 13:11:04 -07:00
cb49650ea4 Use g_memdup2 instead of g_memdup
This fixes a compile warning.

See: https://discourse.gnome.org/t/port-your-module-from-g-memdup-to-g-memdup2-now/5538
2021-08-22 14:46:40 -07:00
2d80d31527 Fix tray icon scaling on multi-display setups 2021-08-16 23:33:29 -07:00
4f6a9b1bc2 Fix incorrect tray icon scaling 2021-07-31 18:01:31 -07:00
a5fe6f40b8 feat(tray): handle Status property
On the `Passive` value of `Status` tray items would be hidden unless
`show-passive-items` is set to true.
On the `NeedsAttention` value of `Status` tray items will have a
`.needs-attention` CSS class.
2021-07-22 08:04:06 -07:00
245f7f4b11 feat(tray): handle scroll events 2021-07-22 08:04:05 -07:00
1418f96e46 feat(tray): fallback to Title for items without ToolTip 2021-07-22 08:04:04 -07:00
84a8f79bbe feat(tray): implement tooltips (text only) for tray items 2021-07-22 08:04:03 -07:00
4b6253e810 refactor(tray): infer changed properties from signal name
Comparing two GVariants is too expensive; let's collect the set of
properties updated by each signal and apply them unconditionally.
2021-07-22 08:04:00 -07:00
929fc16994 fix(tray): ignore unused WindowId property 2021-07-22 08:01:25 -07:00
1440ed29d4 Fix blurry tray icons for HiDPI displays 2021-07-20 22:29:34 -07:00
c844d7ac2e tray: drop std::filesystem dependency 2020-05-19 10:37:27 +00:00
d1c4897f31 feat: update man 2020-04-12 18:38:51 +02:00
047c2929c1 Use the same StatusNotifierWatcher for all trays 2020-02-19 12:06:35 +01:00
569f40de9b Keep aspect ratio when scaling tray icons. 2020-01-09 17:27:10 +10:30
f592e3d38b Merge branch 'master' into fmt 2019-08-29 11:29:48 +02:00
a257126685 Merge branch 'master' into asan-fixes 2019-08-29 11:04:24 +02:00
712424f9a8 Unbreak build with fmtlib 6.0.0
In file included from ../src/factory.cpp:1:
In file included from ../include/factory.hpp:4:
../include/modules/clock.hpp:5:10: fatal error: 'fmt/time.h' file not found
 #include "fmt/time.h"
          ^~~~~~~~~~~~
In file included from ../src/bar.cpp:4:
In file included from ../include/factory.hpp:4:
In file included from ../include/modules/clock.hpp:3:
In file included from /usr/include/fmt/chrono.h:12:
/usr/include/fmt/locale.h:19:35: error: parameter type 'fmt::v5::internal::buffer' (aka 'basic_buffer<char>') is an abstract class
    const std::locale& loc, buffer<Char>& buf,
                                  ^
/usr/include/spdlog/fmt/bundled/core.h:238:16: note: unimplemented pure virtual method 'grow' in 'basic_buffer'
  virtual void grow(std::size_t capacity) = 0;
               ^
In file included from ../src/modules/sni/host.cpp:3:
/usr/include/fmt/ostream.h:22:9: error: expected member name or ';' after declaration specifiers
  buffer<Char>& buffer_;
  ~~~~~~^
/usr/include/fmt/ostream.h:25:19: error: expected ')'
  formatbuf(buffer<Char>& buf) : buffer_(buf) {}
                  ^
/usr/include/fmt/ostream.h:25:12: note: to match this '('
  formatbuf(buffer<Char>& buf) : buffer_(buf) {}
           ^
/usr/include/fmt/ostream.h:25:42: error: use of undeclared identifier 'buf'; did you mean 'prettify_handler::buf'?
  formatbuf(buffer<Char>& buf) : buffer_(buf) {}
                                         ^~~
                                         prettify_handler::buf
/usr/include/spdlog/fmt/bundled/format-inl.h:551:11: note: 'prettify_handler::buf' declared here
  buffer &buf;
          ^
2019-08-29 01:38:54 +00:00
01ad3d96d8 fix(tray): pre-create dbusmenu for tray items
It seems that dbusmenu is not ready to display menu immediately and
needs some time to sync data via DBus.
Fixes LIBDBUSMENU-GLIB-CRITICAL: dbusmenu_menuitem_send_about_to_show:
assertion 'DBUSMENU_IS_MENUITEM(mi)' failed.
Also fixes initial render of the menu with layer shell popups support patch.
2019-08-27 00:34:00 -07:00
642fd48af1 fix(tray): restore Activate support for compliant SNI implementation
Set ItemIsMenu to true by default because libappindicator supports
neither ItemIsMenu nor Activate method and compiant SNI implementations
are expected to reset the flag during initial property fetch.
To be revisited if anyone finds the implementation that has Activate
but does not set ItemIsMenu.
2019-08-27 00:33:59 -07:00
8f9e6c132d fix(network): stack-use-after-return found by address sanitizer
Fixes compilation with clang.
2019-08-27 00:11:40 -07:00
21a89ac46d Typo 2019-07-15 12:21:31 +02:00
340ec7be91 refactor: AModule 2019-06-15 14:57:52 +02:00
ec75be0bc3 fix(Tray): click behaviour 2019-06-11 17:53:16 +02:00
50bfe78aed refactor(tray): improve error handling and add debug logs 2019-05-20 08:00:07 -07:00
afd291a566 fix(tray): Fix glib assertion when old property value is missing
xembedsniproxy sets WindowId as 'i' instead of 'u' and DBus::Proxy
ignores incorrectly typed value.
2019-05-20 07:16:08 -07:00
316a9be656 refactor(tray): Use spdlog for SNI::Item error messages 2019-05-20 07:16:08 -07:00
ed240ac105 feat: add warning about tray requirements 2019-05-20 15:21:13 +02:00
67593b8c0f Merge pull request #332 from Organic-Code/enhancement/spdlog
Adding spdlog
2019-05-20 12:07:58 +02:00
cff39bc7cf fix: remove watcher_id fixme comment as fixed on master 2019-05-20 11:56:55 +02:00
f2edc8f965 feat(Watcher): define watcher_id 2019-05-20 11:47:52 +02:00
51be97f9aa Adding spdlog 2019-05-18 19:44:45 -04:00
d2d9db23b5 fix: uninitialized bool 2019-05-17 14:23:52 +02:00
d8be72e4b6 refactor: unexport tray watcher 2019-05-17 13:51:55 +02:00
362c393b1d refactor: try/catch, sigc trackable 2019-05-13 15:15:50 +02:00
b54160e02f fix(Tray): add item if not exist 2019-05-13 14:27:01 +02:00
e4756cf24e refactor: don't print an error when a watcher is already present 2019-05-10 14:56:28 +02:00
311c34ecbc feat(Bar): handle widget size changes 2019-04-24 12:37:24 +02:00
29d8f365f8 refactor(Tray): proper lookup in the default theme 2019-04-19 17:30:40 +02:00
8cf19826aa fix(Tray): Unexport on exit 2019-04-19 17:03:46 +02:00
6ed8f94dab refactor: format code 2019-04-18 17:52:00 +02:00
807ef32357 refactor: format && better output management 2019-04-18 17:47:40 +02:00
6d6df4be00 refactor(sni-item): better way to search in default theme 2019-04-17 22:15:18 +02:00
aeaa1927d9 fix: add default_paths on init 2019-04-17 19:23:52 +02:00
346ec68578 refactor: format tray && partial fix for #235 2019-04-17 14:19:04 +02:00