4889e655eb
Since idle_inhibitor's have a surface, we should have one for each inhibitor module. Therefore, the status is stored on the Client, and all modules create or destroy their inhibitors depending on Client's idle_inhibitor_status. Also, when modules are destroyed they remove themselves from Client's idle_inhibitor_modules.
2020-11-01 13:33:28 +00:00
aa4fc3dd29
Idle inhibitor toggle no longer update all modules - a list of idle inhibitors is maintained on the Client.
2020-10-31 17:30:25 +00:00
4872091442
Draft fix for syncing idle inhibitor across outputs. The idle_inhibitor surface has been moved to Client, all instances of idle inhibitor module now use one surface between them. Any time an idle inhibitor is clicked, currently it force updates ALL modules on all outputs, this needs work.
2020-10-31 16:31:27 +00:00
f80270519b
refactor(client): use std::list<waybar_output> to store outputs
...
std::unique_ptr is not required here as the only benefit it gives is
stability of address on vector resize and it's easy to invalidate it
accidentaly. std::list provides the same guarantee of stable addresses
of the elements and correct destruction while avoiding smart pointer
overhead.
Also fixes #554 , caused by incorrect usage of std::remove_if.
2020-01-14 07:27:08 -08:00
d1637d34cf
refactor: fetch outputs from Gtk::Display instead of wl_registry.
...
gtk-layer-shell wants Gdk::Monitor instead of wl_output;
change code to deal with Gdk objects and slightly simplify it.
Requires gtkmm 3.22.0+ (first release with Gdk::Monitor support).
2019-12-27 16:42:12 -08:00
ffadd5c1a7
refactor: avoid useless class vars
2019-05-24 09:49:09 +02:00
79a5e9ecee
feat: multiple bar with same process
2019-04-25 13:25:06 +02:00
311c34ecbc
feat(Bar): handle widget size changes
2019-04-24 12:37:24 +02:00
171ecd53aa
refactor(Bar): roundtrip before setup widgets
2019-04-19 11:56:40 +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
d05b8398fa
fix: prefer to hold running even when no window is open
2019-04-15 11:42:16 +02:00
d708ce2be9
Add idle inhibitor module
2019-02-22 16:55:46 +01:00
b554094c7e
feat: args && class id
2018-12-18 17:30:54 +01:00
087de4e956
refactor(client): lambda to method
2018-11-24 11:04:56 +01:00
0eee8eade7
feat(WIP): tray
...
feat(wip): tray
feat(wip): tray
feat(WIP): gdbus
feat(WIP): tray
2018-09-02 17:29:16 +02:00
6705134034
Handle screens disconnection ( #29 )
2018-08-19 13:39:57 +02:00
6635548d3e
Style code ( #25 )
2018-08-16 14:29:41 +02:00
9b75302d22
refactor(client): cleanup
2018-08-15 17:31:45 +02:00
d1d51b76aa
fix(client): try to fix #20
2018-08-15 01:53:43 +02:00
01894f18cd
chore: clean headers
2018-08-12 20:25:19 +02:00
6ff296a4b0
refactor(bar): prefer standard unique_ptr
2018-08-11 12:49:28 +02:00
424ebb3c9b
feat(workspace): only show workspaces which are on same output as bar
2018-08-11 00:32:59 +02:00
c792871f6e
feat(bar): choose height from config file
2018-08-10 18:46:31 +02:00
23f48cb8b7
refactor: prefer static methods
2018-08-09 20:22:01 +02:00
6f9fb72cdf
Add different default paths for config and css files
2018-08-09 14:20:22 +02:00
39a0ae04a8
feat: basic config file
2018-08-09 12:05:48 +02:00
c1e2735314
feat: add idle protocol to avoid update workspace when idle
2018-08-09 01:10:07 +02:00
fcb6a9aa8b
feat: init repo
2018-08-08 23:54:58 +02:00