On 2015年07月24日 19:34, Daniel Vrátil wrote:
On Friday, July 24, 2015 05:35:49 PM 翟翔 wrote:
------------------ Original ------------------
*From: * "Daniel Vráti"<dvra...@kde.org>;
*Date: * Fri, Jul 24, 2015 04:55 PM
*To: * "xiang.zhai"<xiang.z...@i-soft.com.cn>;
"kde-hardware-devel"<kde-hardware-devel@kde.org>;
*Subject: * KScreen OSD
Hi Leslie,
I noticed today that you started working on KScreen OSD. Although I'm
glad
someone stepped up to start working on it, it's unfortunate that you
did not
contact the maintainers (me or Alex Fiestas) nor mentioned your
intentions
anywhere on a mailing list (CC'ed kde-hardware-devel) so that we could
coordinate the works and discuss how it should be properly implemented.
I am so sorry that I have not contacted kscreen project`s maintainers ;-(
The same story about plasma-desktop/applets/kickoff and
plasma-desktop/kcms/useraccount
http://quickgit.kde.org/?p=plasma-desktop.git&a=shortlog&h=c2b7a63e54375d49d
0204e97fc521ea27caec719
And plasma-workspace/ksmserver/kscreenlocker
http://quickgit.kde.org/?p=plasma-workspace.git&a=shortlog&h=69b966a0fea255e
f3eb0f2f581567777f50e8e75
I want to add AccountsService support for kickoff, useraccount and
kscreenlocker https://twitter.com/xiangzhai/status/624509473734823936
plfiorini, sddm core developer https://github.com/sddm/sddm/
he merged my migration for AccountsService Qt binding
https://github.com/hawaii-desktop/qtaccountsservice/commits/master
So I just start my work without mentioned us, I am so sorry for that!
Awesome! I recommend that you contact the respective developers for those
projects as well (generally mailing to plasma-devel mailing list would be
fine, all the relevant devs read it).
Thanks for your advice ;-) I have subscribed kde-hardware-devel and
plasma-devel mailing list with my working email, I will contact with
these projects` core developers && maintainers via mailing list ASAP.
I just went through the code briefly, but unfortunatelly the way it is
done
right now is absolutely unmergeable and does not align at all with our
plans.
I will 100% use libkscreen!
Recently it is skeleton, so I simply use xrandr, I will use libkscreen`s
SetConfigOperation ;-)
Yes, that was one of the major concerns :) The other major concern of mine is
that you hardcode some of the things (like detecting laptop screen by using
"LVDS" is wrong, some laptop screens are called "eDP" for example - you want
to use KScreen::Output::type() and check for KScreen::Output::Panel)
I am reading libkscreen source code more carefully, try to be familiar
with it, and I added log info for Config`s canBeApplied, it helps me to
know what configuration tring to set is wrong.
Would you mind describing your intentions, what functionality are you
planning
and what's the general usecase for your OSD? We could then discuss how to
implement it in a way that will be possible to merge into main
branches and
get into releases?
I just copy the Windows 8 right side hot zone for multiply outputs
settings usecase.
Yes, we wanted to do something like that too, because it's really nice.
The plan we had in mind was to use the same thing that "Add Widget" or
"Activities" panels in Plasma use or what KWin is using when you press Alt+Tab
to show list of windows. I was told that the panel a simple Plasma Dialog -
which means we could easily implement that in QML. I also think there is no
need to have a standalone application for that, instead we could just show
the dialog from the KDED module.
kscreen`s plasma is for KDE4, I want to migrate it to KF5, please count
me in ;-)
And I am familiar with QML https://github.com/xiangzhai/qwx the UI of
WeChat client is 100% QML, I will use QML to implement the osd (simple
Plasma Dialog).
I tried to add 'the dialog' OsdWidget from the kded module
http://quickgit.kde.org/?p=kscreen.git&a=commit&h=164a874aae80a7c6b4163ea0c33822797072ea8a
but sorry for my poor unstanding of the usage of libkscreen, I directly
use xrandr in kded/osd, for example, xrandr --output LVDS1 --off
--output VGA1 --auto, then the kded && plasama segfault ;-( the
backtrace info is about xcb relative!
so I just move the osd out of kded
http://quickgit.kde.org/?p=kscreen.git&a=shortlog&h=827aa545ba32562dedfb2034d2a90d5786eabe02
when new monitor plugged in, if there are 2 outputs connected, the osd
show, so it does not need to press Qt::Key_Display hot key grabbed in
kded module.
if more than 2 outputs, then advanced kcm_kscreen show.
The same situation - I have to read libkscreen source code more
carefully ;-)
The KDED module already implements the logic for switching between mirror
(clone), extend left, extend right, laptop only, so you would only have to
implement to show the OSD when something changes, saving you lots of work :)
Yes, there is display switch implementation in kded
https://projects.kde.org/projects/kde/workspace/kscreen/repository/revisions/master/entry/kded/generator.cpp#L148
It is a good example for me to use libkscreen SetConfigOperation correctly!
and it is easy to change the switch mode to meet Windows 8 alike
usecase: PC screen (laptop) only, mirror (clone), extend right, Second
screen only.
For the icons, I don't know where they came from :) but they don't follow the
Breeze icon set very much. I am on Akademy (the annual KDE conference )right
now, so I can try to talk to someone from Visual Design Group to design the
icons for us if you want.
My colleague, a UI designer, did that ;-) I will let him join in the VDG
to learn how to follow the Breeze theme standard.
Hooray! happy Akademy! my sincere thanks goes to you and VDG`s designer ;-)
Also for future reference, please avoid hardcoding colors into code - it may
look OK on your computer, but people who use different color theme for KDE
will have it look ugly and may end up with dark text on dark background or
vice-versa :-)
I am removing the setStyleSheet, the UI design part, instead follow the
current Breeze theme
https://projects.kde.org/projects/kde/workspace/kscreen/repository/revisions/osd/entry/osd/osdwidget.cpp#L81
There are PC screen only, mirror, extend and second screen only for
Laptop users.
I want to be merged into master branch, I learn how to contact with
other developers, sorry for my poor English ;P
Awesome! Let me know what you think about what I suggested above, I'm of
course opened to discussion :-)
Thanks again for your advice ;-)
Daniel
Cheers,
Daniel
Regards,
Leslie Zhai - a KDE developer
--
Regards,
Leslie Zhai - a KDE developer
_______________________________________________
Kde-hardware-devel mailing list
Kde-hardware-devel@kde.org
https://mail.kde.org/mailman/listinfo/kde-hardware-devel