Commit Graph

29 Commits

Author SHA1 Message Date
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