Jordan Leppert
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
Jordan Leppert
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
Jordan Leppert
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
Aleksei Bavshin
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
Aleksei Bavshin
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
Alex
ffadd5c1a7
refactor: avoid useless class vars
2019-05-24 09:49:09 +02:00
Alex
79a5e9ecee
feat: multiple bar with same process
2019-04-25 13:25:06 +02:00
Alex
311c34ecbc
feat(Bar): handle widget size changes
2019-04-24 12:37:24 +02:00
Alex
171ecd53aa
refactor(Bar): roundtrip before setup widgets
2019-04-19 11:56:40 +02:00
Alex
6ed8f94dab
refactor: format code
2019-04-18 17:52:00 +02:00
Alex
807ef32357
refactor: format && better output management
2019-04-18 17:47:40 +02:00
Alex
d05b8398fa
fix: prefer to hold running even when no window is open
2019-04-15 11:42:16 +02:00
Jonas
d708ce2be9
Add idle inhibitor module
2019-02-22 16:55:46 +01:00
Alexis
b554094c7e
feat: args && class id
2018-12-18 17:30:54 +01:00
Alexis
087de4e956
refactor(client): lambda to method
2018-11-24 11:04:56 +01:00
Alexis
0eee8eade7
feat(WIP): tray
...
feat(wip): tray
feat(wip): tray
feat(WIP): gdbus
feat(WIP): tray
2018-09-02 17:29:16 +02:00
Alex
6705134034
Handle screens disconnection ( #29 )
2018-08-19 13:39:57 +02:00
Alex
6635548d3e
Style code ( #25 )
2018-08-16 14:29:41 +02:00
Alexis
9b75302d22
refactor(client): cleanup
2018-08-15 17:31:45 +02:00
Alexis
d1d51b76aa
fix(client): try to fix #20
2018-08-15 01:53:43 +02:00
Alexis
01894f18cd
chore: clean headers
2018-08-12 20:25:19 +02:00
Alexis
6ff296a4b0
refactor(bar): prefer standard unique_ptr
2018-08-11 12:49:28 +02:00
Alexis
424ebb3c9b
feat(workspace): only show workspaces which are on same output as bar
2018-08-11 00:32:59 +02:00
Alexis
c792871f6e
feat(bar): choose height from config file
2018-08-10 18:46:31 +02:00
Alexis
23f48cb8b7
refactor: prefer static methods
2018-08-09 20:22:01 +02:00
Thomas Plaçais
6f9fb72cdf
Add different default paths for config and css files
2018-08-09 14:20:22 +02:00
Alexis
39a0ae04a8
feat: basic config file
2018-08-09 12:05:48 +02:00
Alexis
c1e2735314
feat: add idle protocol to avoid update workspace when idle
2018-08-09 01:10:07 +02:00
Alexis
fcb6a9aa8b
feat: init repo
2018-08-08 23:54:58 +02:00