D8652: Add supported transformations to OutputDevice
sebas added a comment. Restricted Application edited projects, added Plasma on Wayland; removed Plasma. Dingdong? REPOSITORY R127 KWayland BRANCH supported-transformations REVISION DETAIL https://phabricator.kde.org/D8652 To: graesslin, #frameworks, #kwin, #plasma, sebas, davidedmundson Cc: sebas, davidedmundson, plasma-devel, schernikov, leezu, ZrenBot, ngraham, alexeymin, progwolff, lesliezhai, ali-mohamed, jensreuterberg, abetts, eliasp, apol, mart, hein
D8652: Add supported transformations to OutputDevice
graesslin added a comment. Restricted Application edited projects, added Plasma; removed Plasma on Wayland. In https://phabricator.kde.org/D8652#176706, @davidedmundson wrote: > The comment about being static needs to be in the protocol xml too. Then this is good to go. > > ( though what's your reasoning for not just having the argument as a Wayland array ?) I didn't think of it. Just followed the existing way to announce modes. REPOSITORY R127 KWayland BRANCH supported-transformations REVISION DETAIL https://phabricator.kde.org/D8652 To: graesslin, #frameworks, #kwin, #plasma, sebas, davidedmundson Cc: sebas, davidedmundson, plasma-devel, ZrenBot, progwolff, lesliezhai, ali-mohamed, jensreuterberg, abetts, apol, mart
D8652: Add supported transformations to OutputDevice
davidedmundson accepted this revision. davidedmundson added a comment. Restricted Application edited projects, added Plasma on Wayland; removed Plasma. The comment about being static needs to be in the protocol xml too. Then this is good to go. ( though what's your reasoning for not just having the argument as a Wayland array ?) REPOSITORY R127 KWayland BRANCH supported-transformations REVISION DETAIL https://phabricator.kde.org/D8652 To: graesslin, #frameworks, #kwin, #plasma, sebas, davidedmundson Cc: sebas, davidedmundson, plasma-devel, leezu, ZrenBot, alexeymin, progwolff, lesliezhai, ali-mohamed, jensreuterberg, abetts, eliasp, apol, mart, hein
D8652: Add supported transformations to OutputDevice
sebas accepted this revision. sebas added inline comments. This revision is now accepted and ready to land. INLINE COMMENTS > outputdevice.h:244 > + * @returns The transformations supported on this OutputDevice > + * @since 5.XX > + * @see supportedTransformationAdded 5.40 I guess :) > outputdevice_interface.h:133 > + * Due to that there is no remove operation for supported > transformations. > + * @since 5.XX > + **/ 5.40 REPOSITORY R127 KWayland BRANCH supported-transformations REVISION DETAIL https://phabricator.kde.org/D8652 To: graesslin, #frameworks, #kwin, #plasma, sebas Cc: sebas, davidedmundson, plasma-devel, ZrenBot, progwolff, lesliezhai, ali-mohamed, jensreuterberg, abetts, apol, mart
D8652: Add supported transformations to OutputDevice
graesslin updated this revision to Diff 21872. graesslin added a comment. Restricted Application edited projects, added Plasma; removed Plasma on Wayland. enum and uint REPOSITORY R127 KWayland CHANGES SINCE LAST UPDATE https://phabricator.kde.org/D8652?vs=21869&id=21872 BRANCH supported-transformations REVISION DETAIL https://phabricator.kde.org/D8652 AFFECTED FILES autotests/client/test_wayland_outputdevice.cpp src/client/outputdevice.cpp src/client/outputdevice.h src/client/protocols/outputdevice.xml src/client/registry.cpp src/server/outputdevice_interface.cpp src/server/outputdevice_interface.h To: graesslin, #frameworks, #kwin, #plasma Cc: davidedmundson, plasma-devel, ZrenBot, progwolff, lesliezhai, ali-mohamed, jensreuterberg, abetts, sebas, apol, mart
D8652: Add supported transformations to OutputDevice
graesslin added inline comments. INLINE COMMENTS > davidedmundson wrote in outputdevice_interface.cpp:470 > we have the initial send which is all fine > > Then you've got this dynamically add them. > But at a protocol level we have no way to remove and replace. > That's somewhat broken. > > Personally, I'd just make it a static and document that it must be sent > before the first done() I'm not 100 % sure whether we can in KWin determine the supported rotations in all cases before the OutputDeviceInterface is fully setup. Thus I wanted to have a little bit of flexibility here. Also if we need it we can add a remove. If we go for a static approach, we cannot remove again. REPOSITORY R127 KWayland REVISION DETAIL https://phabricator.kde.org/D8652 To: graesslin, #frameworks, #kwin, #plasma Cc: davidedmundson, plasma-devel, leezu, ZrenBot, alexeymin, progwolff, lesliezhai, ali-mohamed, jensreuterberg, abetts, eliasp, sebas, apol, mart, hein
D8652: Add supported transformations to OutputDevice
davidedmundson added inline comments. INLINE COMMENTS > outputdevice.xml:225 > + > + > + enum="transform" also uint > outputdevice_interface.cpp:470 > > +void OutputDeviceInterface::addSupportedTransformation(Transform > transformation) > +{ we have the initial send which is all fine Then you've got this dynamically add them. But at a protocol level we have no way to remove and replace. That's somewhat broken. Personally, I'd just make it a static and document that it must be sent before the first done() REPOSITORY R127 KWayland REVISION DETAIL https://phabricator.kde.org/D8652 To: graesslin, #frameworks, #kwin, #plasma Cc: davidedmundson, plasma-devel, leezu, ZrenBot, alexeymin, progwolff, lesliezhai, ali-mohamed, jensreuterberg, abetts, eliasp, sebas, apol, mart, hein
D8652: Add supported transformations to OutputDevice
graesslin created this revision. graesslin added reviewers: Frameworks, KWin, Plasma. Restricted Application added projects: Plasma on Wayland, Frameworks. Restricted Application added a subscriber: plasma-devel. REVISION SUMMARY The server can announce all supported transformations on an OutputDevice. The rational for this change is a requirement recognized in KWin in combination with KScreen: KScreen should not offer to transform a screen in a way which KWin cannot support. This API can fill the need. REPOSITORY R127 KWayland BRANCH supported-transformations REVISION DETAIL https://phabricator.kde.org/D8652 AFFECTED FILES autotests/client/test_wayland_outputdevice.cpp src/client/outputdevice.cpp src/client/outputdevice.h src/client/protocols/outputdevice.xml src/client/registry.cpp src/server/outputdevice_interface.cpp src/server/outputdevice_interface.h To: graesslin, #frameworks, #kwin, #plasma Cc: plasma-devel, leezu, ZrenBot, alexeymin, progwolff, lesliezhai, ali-mohamed, jensreuterberg, abetts, eliasp, sebas, apol, mart, hein