D9764: [WIP] a basic TabletModeManager

2018-01-11 Thread Marco Martin
mart added a comment.
Restricted Application edited projects, added KWin; removed Plasma.


  In https://phabricator.kde.org/D9764#188910, @davidedmundson wrote:
  
  > > maybe one could still work around by connecting blindly to that by hand
  >
  > There's nothing inherently wrong with doing that. Assuming the DBus API is 
stable is as valid and as easy as assuming the a library is valid and stable.
  >
  > If you're going to expose it in Kirigami, then I wouldn't bother doing 
anything else.
  
  
  yeah, we have to promiseapi stability for all kf5 like on that kwin 
interface, that's for sure.
  ok, so kirigami already has a public library as well, so if done here, this 
could be used directly in qml (there is already a singleton which exposes an 
ismobile variable, which not would change dinamically at runtime), but also 
from any c++ program, which would be nice.

REPOSITORY
  R108 KWin

BRANCH
  mart/tabletMode

REVISION DETAIL
  https://phabricator.kde.org/D9764

To: mart, #plasma, #kwin, graesslin
Cc: graesslin, davidedmundson, plasma-devel, kwin, #kwin, iodelay, bwowk, 
ZrenBot, progwolff, lesliezhai, ali-mohamed, hardening, jensreuterberg, abetts, 
sebas, apol, mart


D9764: [WIP] a basic TabletModeManager

2018-01-10 Thread Martin Flöser
graesslin accepted this revision.
This revision is now accepted and ready to land.
Restricted Application edited projects, added Plasma; removed KWin.

REPOSITORY
  R108 KWin

BRANCH
  mart/tabletMode

REVISION DETAIL
  https://phabricator.kde.org/D9764

To: mart, #plasma, #kwin, graesslin
Cc: graesslin, davidedmundson, plasma-devel, kwin, #kwin, ZrenBot, progwolff, 
lesliezhai, ali-mohamed, jensreuterberg, abetts, sebas, apol, mart


D9764: [WIP] a basic TabletModeManager

2018-01-10 Thread David Edmundson
davidedmundson added a comment.
Restricted Application edited projects, added KWin; removed Plasma.


  > maybe one could still work around by connecting blindly to that by hand
  
  There's nothing inherently wrong with doing that. Assuming the DBus API is 
stable is as valid and as easy as assuming the a library is valid and stable.
  
  If you're going to expose it in Kirigami, then I wouldn't bother doing 
anything else.

REPOSITORY
  R108 KWin

REVISION DETAIL
  https://phabricator.kde.org/D9764

To: mart, #plasma, #kwin
Cc: graesslin, davidedmundson, plasma-devel, kwin, #kwin, iodelay, bwowk, 
ZrenBot, progwolff, lesliezhai, ali-mohamed, hardening, jensreuterberg, abetts, 
sebas, apol, mart


D9764: [WIP] a basic TabletModeManager

2018-01-10 Thread Marco Martin
mart marked 2 inline comments as done.
Restricted Application edited projects, added Plasma; removed KWin.

REPOSITORY
  R108 KWin

REVISION DETAIL
  https://phabricator.kde.org/D9764

To: mart, #plasma, #kwin
Cc: graesslin, davidedmundson, plasma-devel, kwin, #kwin, ZrenBot, progwolff, 
lesliezhai, ali-mohamed, jensreuterberg, abetts, sebas, apol, mart


D9764: [WIP] a basic TabletModeManager

2018-01-10 Thread Marco Martin
mart updated this revision to Diff 25099.
mart added a comment.
Restricted Application edited projects, added KWin; removed Plasma.


  adress comments

REPOSITORY
  R108 KWin

CHANGES SINCE LAST UPDATE
  https://phabricator.kde.org/D9764?vs=25022&id=25099

BRANCH
  mart/tabletMode

REVISION DETAIL
  https://phabricator.kde.org/D9764

AFFECTED FILES
  CMakeLists.txt
  main_wayland.cpp
  tabletmodemanager.cpp
  tabletmodemanager.h

To: mart, #plasma, #kwin
Cc: graesslin, davidedmundson, plasma-devel, kwin, #kwin, iodelay, bwowk, 
ZrenBot, progwolff, lesliezhai, ali-mohamed, hardening, jensreuterberg, abetts, 
sebas, apol, mart


D9764: [WIP] a basic TabletModeManager

2018-01-10 Thread Marco Martin
mart added a comment.
Restricted Application edited projects, added Plasma; removed KWin.


  In https://phabricator.kde.org/D9764#188872, @graesslin wrote:
  
  > In https://phabricator.kde.org/D9764#188862, @mart wrote:
  >
  > > In https://phabricator.kde.org/D9764#188354, @graesslin wrote:
  > >
  > > > In https://phabricator.kde.org/D9764#188268, @mart wrote:
  > > >
  > > > > one thing i'm wondering, is how to manage dependencies, as ideally we 
want most of our apps to make use of this, but can't ask for sure to depend 
from kwin..., which finding the xml would make it an hard dependency (maybe one 
could still work around by connecting blindly to that by hand)
  > > >
  > > >
  > > > maybe a new framework which provides the XML and a small client side 
wrapper? Could probably be tier1.
  > >
  > >
  > > do you think it should be in a new standalone framework or is there 
anything already existing which could have it?
  >
  >
  > maybe KGuiAddons?
  
  
  yeah, sounds good

REPOSITORY
  R108 KWin

REVISION DETAIL
  https://phabricator.kde.org/D9764

To: mart, #plasma, #kwin
Cc: graesslin, davidedmundson, plasma-devel, kwin, #kwin, ZrenBot, progwolff, 
lesliezhai, ali-mohamed, jensreuterberg, abetts, sebas, apol, mart


D9764: [WIP] a basic TabletModeManager

2018-01-10 Thread Martin Flöser
graesslin added a comment.
Restricted Application edited projects, added KWin; removed Plasma.


  In https://phabricator.kde.org/D9764#188862, @mart wrote:
  
  > In https://phabricator.kde.org/D9764#188354, @graesslin wrote:
  >
  > > In https://phabricator.kde.org/D9764#188268, @mart wrote:
  > >
  > > > one thing i'm wondering, is how to manage dependencies, as ideally we 
want most of our apps to make use of this, but can't ask for sure to depend 
from kwin..., which finding the xml would make it an hard dependency (maybe one 
could still work around by connecting blindly to that by hand)
  > >
  > >
  > > maybe a new framework which provides the XML and a small client side 
wrapper? Could probably be tier1.
  >
  >
  > do you think it should be in a new standalone framework or is there 
anything already existing which could have it?
  
  
  maybe KGuiAddons?

REPOSITORY
  R108 KWin

REVISION DETAIL
  https://phabricator.kde.org/D9764

To: mart, #plasma, #kwin
Cc: graesslin, davidedmundson, plasma-devel, kwin, #kwin, iodelay, bwowk, 
ZrenBot, progwolff, lesliezhai, ali-mohamed, hardening, jensreuterberg, abetts, 
sebas, apol, mart


D9764: [WIP] a basic TabletModeManager

2018-01-10 Thread Marco Martin
mart added a comment.
Restricted Application edited projects, added Plasma; removed KWin.


  In https://phabricator.kde.org/D9764#188354, @graesslin wrote:
  
  > In https://phabricator.kde.org/D9764#188268, @mart wrote:
  >
  > > one thing i'm wondering, is how to manage dependencies, as ideally we 
want most of our apps to make use of this, but can't ask for sure to depend 
from kwin..., which finding the xml would make it an hard dependency (maybe one 
could still work around by connecting blindly to that by hand)
  >
  >
  > maybe a new framework which provides the XML and a small client side 
wrapper? Could probably be tier1.
  
  
  do you think it should be in a new standalone framework or is there anything 
already existing which could have it?

REPOSITORY
  R108 KWin

REVISION DETAIL
  https://phabricator.kde.org/D9764

To: mart, #plasma, #kwin
Cc: graesslin, davidedmundson, plasma-devel, kwin, #kwin, ZrenBot, progwolff, 
lesliezhai, ali-mohamed, jensreuterberg, abetts, sebas, apol, mart


D9764: [WIP] a basic TabletModeManager

2018-01-09 Thread Martin Flöser
graesslin added inline comments.
Restricted Application edited projects, added KWin; removed Plasma.

INLINE COMMENTS

> tabletmodemanager.cpp:75
> +{
> +m_spy = new TabletModeInputEventSpy(this);
> +input()->installInputEventSpy(m_spy);

please put into initializer.

Also the spy leaks.

> tabletmodemanager.cpp:86-87
> +TabletModeManager::~TabletModeManager()
> +{
> +}
> +

= default

> tabletmodemanager.cpp:106
> +
> +#include "tabletmodemanager.moc"

is that needed?

> workspace.cpp:183
>  
> +TabletModeManager::create(this);
> +

I would create it in main_wayland.cpp in ApplicationWayland::performStartup 
just before creating the virtualkeyboard.

Reason: this is currently Wayland only code and we might not want to expose the 
dbus service on X11. Reason for just before creating virt keyboard: I want to 
use that to automatically enable the virtual keyboard if we are in tablet mode.

REPOSITORY
  R108 KWin

REVISION DETAIL
  https://phabricator.kde.org/D9764

To: mart, #plasma, #kwin
Cc: graesslin, davidedmundson, plasma-devel, kwin, #kwin, iodelay, bwowk, 
ZrenBot, progwolff, lesliezhai, ali-mohamed, hardening, jensreuterberg, abetts, 
sebas, apol, mart


D9764: [WIP] a basic TabletModeManager

2018-01-09 Thread Martin Flöser
graesslin added a comment.
Restricted Application edited projects, added Plasma; removed KWin.


  In https://phabricator.kde.org/D9764#188268, @mart wrote:
  
  > one thing i'm wondering, is how to manage dependencies, as ideally we want 
most of our apps to make use of this, but can't ask for sure to depend from 
kwin..., which finding the xml would make it an hard dependency (maybe one 
could still work around by connecting blindly to that by hand)
  
  
  maybe a new framework which provides the XML and a small client side wrapper? 
Could probably be tier1.

REPOSITORY
  R108 KWin

REVISION DETAIL
  https://phabricator.kde.org/D9764

To: mart, #plasma, #kwin
Cc: graesslin, davidedmundson, plasma-devel, kwin, #kwin, ZrenBot, progwolff, 
lesliezhai, ali-mohamed, jensreuterberg, abetts, sebas, apol, mart


D9764: [WIP] a basic TabletModeManager

2018-01-09 Thread Marco Martin
mart edited the test plan for this revision.
Restricted Application edited projects, added KWin; removed Plasma.

REPOSITORY
  R108 KWin

REVISION DETAIL
  https://phabricator.kde.org/D9764

To: mart, #plasma, #kwin
Cc: davidedmundson, plasma-devel, kwin, #kwin, iodelay, bwowk, ZrenBot, 
progwolff, lesliezhai, ali-mohamed, hardening, jensreuterberg, abetts, sebas, 
apol, mart


D9764: [WIP] a basic TabletModeManager

2018-01-09 Thread Marco Martin
mart added a comment.
Restricted Application edited projects, added Plasma; removed KWin.


  one thing i'm wondering, is how to manage dependencies, as ideally we want 
most of our apps to make use of this, but can't ask for sure to depend from 
kwin..., which finding the xml would make it an hard dependency (maybe one 
could still work around by connecting blindly to that by hand)

REPOSITORY
  R108 KWin

REVISION DETAIL
  https://phabricator.kde.org/D9764

To: mart, #plasma, #kwin
Cc: davidedmundson, plasma-devel, kwin, #kwin, ZrenBot, progwolff, lesliezhai, 
ali-mohamed, jensreuterberg, abetts, sebas, apol, mart


D9764: [WIP] a basic TabletModeManager

2018-01-09 Thread David Edmundson
davidedmundson added a comment.
Restricted Application edited projects, added KWin; removed Plasma.


  DBus code is all good.
  
  It would be nice if you can run qdbuscpp2xml on the TabletModeManager   and 
install that .xml file in /usr/share/dbus-1/services   it will allow other 
programs to generate the client side interface programatically.

REPOSITORY
  R108 KWin

REVISION DETAIL
  https://phabricator.kde.org/D9764

To: mart, #plasma, #kwin
Cc: davidedmundson, plasma-devel, kwin, #kwin, iodelay, bwowk, ZrenBot, 
progwolff, lesliezhai, ali-mohamed, hardening, jensreuterberg, abetts, sebas, 
apol, mart


D9764: [WIP] a basic TabletModeManager

2018-01-09 Thread Marco Martin
mart added reviewers: Plasma, KWin.
Restricted Application edited projects, added Plasma; removed KWin.
Restricted Application added a subscriber: plasma-devel.

REPOSITORY
  R108 KWin

REVISION DETAIL
  https://phabricator.kde.org/D9764

To: mart, #plasma, #kwin
Cc: plasma-devel, kwin, #kwin, ZrenBot, progwolff, lesliezhai, ali-mohamed, 
jensreuterberg, abetts, sebas, apol, mart