[FFe] UKUI desktop environment

Bug #1663477 reported by handsome_feng
70
This bug affects 11 people
Affects Status Importance Assigned to Milestone
Ubuntu Kylin
Fix Released
Critical
Unassigned
ukui-desktop-environment (Ubuntu)
Fix Released
Wishlist
Unassigned

Bug Description

UKUI is a lightweight desktop environment for Ubuntu Kylin. It provides a simpler and more enjoyable experience for browsing, searching, and managing your computer. UKUI is a fork of MATE desktop environment, so the packages are also forks from those of MATE. We have to fork a new road for the following reasons:
(1) Most Chinese users are more familiar with interfaces similar to Windows. UKUI has reimplemented key interfaces such as menu, indicator, panel, control center etc. We ever released a preview version on 16.04 and received a lot of positive feedbacks.
http://www.ubuntukylin.com/news/shownews.php?lang=en&id=620
http://www.ubuntukylin.com/ukylin/forum.php?mod=viewthread&tid=27461
(2) UKUI has made many many code and configuration changes from MATE. Those changes are not consistent with the design of MATE.
(3) The further goal of UKUI is to simplify and unify the user interfaces and desktop development interface libraries which may make the desktop more compatible and acceptable.

Until now, we have rewrote the main user interfaces and changed the conflicts between UKUI and MATE. We have checked that UKUI can coexist with mate and has no effects on other packages.

Homepage: http://www.ukui.org
Source: https://github.com/ukui
PPA: https://launchpad.net/~ubuntukylin-members/+archive/ubuntu/ukui
     Adding this PPA to your system:
     sudo add-apt-repository ppa:ubuntukylin-members/ukui

The packages relationship between UKUI and mate are listed in the following table:
 ukui-desktop-environment mate-desktop-environment

 Rewrited:
 ukui-menu mate-menu
 ukui-indicators mate-idicators

 Changed the interface and layout:
 peony caja
 ukui-control-center mate-control-center
 ukui-screensaver mate-screensaver

 Our own session:
 ukui-session-manager mate-session-manager

-----------------------------------------------------------------------------------------------
The detail descriptions of those packages are showed as below:

The UKUI Desktop Environment contains those packages:
1. ukui-desktop-environment
This package depends on a very basic set of programs that are necessary to
start a UKUI desktop environment session.

URL: https://github.com/ukui/ukui-desktop-environment
License: GPL-2+

2. ukui-menu
Bug #1664229

3. ukui-indicators
Bug #1664232

4. peony
Bug #1664235

5. ukui-control-center
Bug #1664244

6. ukui-screensaver
Bug #1664247

7. ukui-session-manager
Bug #1664256

affects: ubuntu → ubuntukylin
Changed in ubuntukylin:
milestone: none → zesty-finalrelease
milestone: zesty-finalrelease → zesty-beta1
description: updated
description: updated
description: updated
description: updated
Ma Jun (maclin.jun)
description: updated
Ma Jun (maclin.jun)
description: updated
Changed in ubuntukylin:
importance: Undecided → Critical
Revision history for this message
Jeremy Bícha (jbicha) wrote :

Why do you need to fork so many different MATE packages?

I tried looking in the git repositories but the history from https://github.com/mate-desktop/ has not been included so it was impossible for me to easily tell how these packages are different from the MATE packages.

Have you even talked to the MATE developers to see if there is any room for cooperation before just forking?

Please provide an explanation for why each package you are proposing needs to be forked. With so many packages, it might be easier to use separate bugs.

I feel this needs wider discussion among the Ubuntu project. Maybe you could post to the ubuntu-devel list. Unfortunately the list is moderated, so you might need to ask in IRC #ubuntu-devel for your post to be let through.

Revision history for this message
Brian Murray (brian-murray) wrote :

*** This is an automated message ***

This bug is tagged needs-packaging which identifies it as a request for a new package in Ubuntu. As a part of the managing needs-packaging bug reports specification, https://wiki.ubuntu.com/QATeam/Specs/NeedsPackagingBugs, all needs-packaging bug reports have Wishlist importance. Subsequently, I'm setting this bug's status to Wishlist.

Changed in ubuntu:
importance: Undecided → Wishlist
description: updated
Revision history for this message
handsome_feng (feng-kylin) wrote :

Hi, @Jeremy, Thanks for your reply!
> Why do you need to fork so many different MATE packages?
Since most Chinese users are more familiar with interfaces similar to Windows, we reimplemented key interfaces such as menu、indicator、panel、control center etc, which contains the projects below:
ukui-menu, ukui-indicator, peony, ukui-panel, ukui-control-center, ukui-screensaver.
In these packages, ukui-menu and ukui-indicator are almost rewrited by us. In peony and ukui-screensaver, we changed the main layout and appearance of them. Rest of the packages have changed a litlle but we will keep developing.

From the changes above, packages listed below should be forked to fit the dependency (In these packages, we only changed the string in these packages for the moment, such as replace "mate" with "ukui"):
ukui-desktop, ukui-menus, ukui-power-manager, ukui-session-manager, ukui-settings-daemon, ukui-polkit, ukui-media, ukui-utils, ukui-common, libukuikbd, libukuimixer.

> Have you even talked to the MATE developers to see if there is any room for cooperation before just forking?
  Not yet. We think those changes we made are not consistent with the design of mate.

> It was impossible for me to easily tell how these packages are different from the MATE packages.
We rebased the code of main packages on origan MATE packages in github. Please check the link about the diff file in descriptions.

> With so many packages, it might be easier to use sepatate bugs.
Since those packages can divided into two categories, How about just divide this bug into two bugs?

description: updated
Revision history for this message
Jeremy Bícha (jbicha) wrote :

>From the changes above, packages listed below should be forked to fit the dependency (In these packages, we only changed the string in these packages for the moment, such as replace "mate" with "ukui"):
ukui-desktop, ukui-menus, ukui-power-manager, ukui-session-manager, ukui-settings-daemon, ukui-polkit, ukui-media, ukui-utils, ukui-common, libukuikbd, libukuimixer.

Those are exactly the packages I'm most concerned about. It seems pointless to me to fork a package just so you can put your name on it. But it's worse than pointless since your users will have to deal with bugs that have already been fixed unless you quickly manually merge bugfixes from the parent project.

If we can reduce the number of packages you have to maintain from about 20 to about 10, I think that's a big benefit!

>Since those packages can divided into two categories, How about just divide this bug into two bugs?

I believe UbuntuKylin will need sponsorship for these packages. Especially with new source packages, the usual practice is for each package to have a separate bug.

Revision history for this message
Jack Yu (jackyu) wrote :

Hi jbicha,
>Those are exactly the packages I'm most concerned about. It seems pointless to me to fork a package just so you can put your name on it. But it's worse than pointless since your users will have to deal with bugs that have already been fixed unless you quickly manually merge bugfixes from the parent project.

We change these packages to make UKUI compatible with Mate. That's why we want to submit these packages in one bug:).

> I believe UbuntuKylin will need sponsorship for these packages. Especially with new source packages, the usual practice is for each package to have a separate bug.

We will do this soon. Thanks.

description: updated
description: updated
description: updated
description: updated
description: updated
description: updated
Revision history for this message
Martin Wimpress  (flexiondotorg) wrote :

Hi,

Upstream MATE core team member and maintainer for Ubuntu MATE here. Congratulations on UKUI, it looks very interesting :-)

I would like to encourage you to engage with the MATE team, you can find us in #mate-dev on Freenode. The main people to contact are flexiondotorg (me), raveit65 and monsta.

We'd be interested in finding out why forking all those components is required and if we can do something in MATE to reduce that effort. Certainly we will all be better off working on the same code and MATE would welcome new developers to the team :-)

Also what did you fork from exactly? It looks like you may have forked from Debian source packages?

If so, was it from my PPA (ppa:ubuntu-mate-dev/xenial-mate) or from the Ubuntu archive. What Ubuntu release did you fork from?

I ask because it looks like you may have forked from the GTK2+ builds which are no longer maintained upstream, we have switched entirely to GTK3+ in MATE 1.17 and dropped all GTK2+ specific code from the project. Just fair warning, that if you've forked from GTK2+ builds, the upstream code will continue to diverge and you'll likely loose any benefit of fixes and new features landing upstream.

Please do come and introduce yourselves to the MATE team in IRC and I wish you every success with your project :-)

description: updated
description: updated
description: updated
description: updated
Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in ubuntu:
status: New → Confirmed
Revision history for this message
handsome_feng (feng-kylin) wrote :

Hi, Martin, thank you for willing to offer help.

> We'd be interested in finding out why forking all those components is required and if we can do something in MATE to reduce that effort. Certainly we will all be better off working on the same code and MATE would welcome new developers to the team :-)
Well, in order to make the interfaces similar to Windows, we reimplemented the menu, indicator, panel, control center etc, which contains ukui-menu, ukui-indicators, peony, ukui-control-center and ukui-screensaver. Ukui-panel is utilized to fit the layout for ukui-menu. Mate-utils and mate-power-manager are dependent on mate-panel, so we had to fork them. What is more, a desktop environment must have it's own session-manager, so we forked mate-session-manager.
Maybe we can cut mate-utils and mate-power-manager with your help. :)

> what did you fork from exactly?
We forked from the debian source packages in Ubuntu yakkety archive.

Revision history for this message
handsome_feng (feng-kylin) wrote :

Hi, Jeremy
I have reduced the packages from 20 to 10 already. Thank you for your suggestions!

Revision history for this message
Martin Wimpress  (flexiondotorg) wrote :

@handsome_feng, I think it may not be required to fork mate-panel :-)

## MATE Panel

mate-panel has a feature to use different layouts and the default layout can be overridden using a gsettings override. I do this in Ubuntu MATE already.

This is how I override the default mate-panel layout:

http://bazaar.launchpad.net/~ubuntu-mate-dev/ubuntu-mate/ubuntu-mate-settings/view/head:/usr/share/glib-2.0/schemas/ubuntu-mate.gschema.override#L123

And here are the custom layouts I ship with Ubuntu MATE:

http://bazaar.launchpad.net/~ubuntu-mate-dev/ubuntu-mate/ubuntu-mate-settings/files/head:/usr/share/mate-panel/layouts/

As you can see, you can create exactly the layout you desire. Having seen the above, do you still need to fork mate-panel? If my description of how mate-panel works enables you to ship your desired default panel arrangement your can drop the forks of:

  * mate-panel
  * mate-utils
  * mate-power-manager

You can easily adapt this tool from MATE Tweak to dump your panel layout when you have it configured they way you like:

https://bitbucket.org/ubuntu-mate/mate-tweak/src/bb8c682f318aadb8cf0058a74fc8f9a0843b4d90/util/mate-panel-backup?at=master&fileviewer=file-view-default

## UKUI Menu and Indicator

The ukui-menu and ukui-indicator projects looks interesting to me, if they can work with mate-panel (given my explanation above) they are projects that I might consider using in Ubuntu MATE too :-)

## UKUI Control Center

This was forked to change this look and feel only? If so, it is absolutely required? The feedback I get is that Windows users coming to MATE Desktop find the Control Center familiar and comfortable.

## UKUI Screensaver

Can you give me some more detail as to why you feel this fork is required please. I'm not clear on what changes were made :-)

## Peony

I'm understand that you changed the look and feel of Peony considerably, so it is reasonable this fork it required.

## MATE Session Manager

This fork seems reasonable to me, as you say UKUI needs it's own session manager :-)

## Forks

I know this is a big ask, but would it be possible to rebase your remaining forks from upstream projects from:

  * https://github.com/mate-desktop/

We also have reference Debian (quilt) packages too:

  * https://github.com/mate-desktop/debian-packages/

If you were able to rebase from upstream, both projects would be able to easily cherry-pick fixes/improvements from each other, and I think this would help UKUI and MATE in the long run :-)

In MATE 1.17 all the obsolete GTK2+ has been dropped and many GTK3+ have already been applied. UKUI will certainly be more stable if you can rebase from upstream, please consider it :-)

description: updated
Revision history for this message
handsome_feng (feng-kylin) wrote :

Hi, @Martin,
We had cut the ukui-panel, ukui-power-manager, ukui-utils in this project, and updated the ppa, although there may still be some potential problems. we will keep developing.
Now I have 2 questions:
1. We had created a ukui.layout(see attachment), can you merge this into mate-panel ? Do I need to file a bug on mate-panel? Or we put this ukui.layout file in our default-settings package?
2. The ukui-session-manager can't launch mate-panel now, because of the "OnlyShowIn=MATE" in mate-panel.desktop file, which is the best way to solve this problem? Modify the "egg_desktop_file_can_launch" in ukui-session-manager or remove the OnlyShowIn in mate-panel?
Thank you in advance!

Revision history for this message
handsome_feng (feng-kylin) wrote :

Hi, @Martin,
We had cut the ukui-panel, ukui-power-manager, ukui-utils in this project, and updated the ppa, althought there may still be some potential problems. we will keep developing.
Now I have meet questions:
1. we had created a ukui.layout(see attachment), can you merge this into mate-panel ? Do I need to file a bug on mate-panel?
2. The ukui-session-manager can't launch mate-panel now, because of the "OnlyShowIn=MATE" in mate-panel.desktop file, which is the best way to solve this problem? Modify the egg_desktop_file_can_launch in ukui-session-manager or remove the OnlyShowIn in mate-panel?
Thank you in advance!

Revision history for this message
Martin Wimpress  (flexiondotorg) wrote :

Hi @handsome_feng

1. I suggest you create an `ubuntu-kylin-default-settings` package (or similar) at put your custom layouts in there :-) You layout is not suitable for upstream to MATE because your layout includes applets not present in upstream MATE.

2. For a possible quick fix, you should be able to create `/usr/share/ukui/applications/mate-panel.desktop` and change "OnlyShowIn=MATE" to "OnlyShowIn=MATE;UKUI;" (or however you identify UKUI as a desktop). If that works, ship that modified mate-panel.desktop in `ubuntu-kylin-default-settings`. For a future proof fix, please file pull requests in upstream MATE to change the relevant desktop files to "OnlyShowIn=MATE;UKUI;" :-)

I hope that helps.

Revision history for this message
handsome_feng (feng-kylin) wrote :

Hi, @Martin

I had put the ukui.layout and mate-panel.desktop in ubuntukylin-default-settings, thank you for your suggestions. :)

Since we had passed the deadline of FeatureFreeze, what can we do to upload those packages to Ubuntu archive before zesty-finalrelease?

Is it OK for us to change the bug name from "[needs-packaging] UKUI desktop environment" to "[FFE] UKUI desktop environment" directly?

Thank you!

Revision history for this message
Jeremy Bícha (jbicha) wrote :

handsome_feng, it's fine to update bug titles.

See https://wiki.ubuntu.com/FreezeExceptionProcess
I recommend talking to ubuntu-release either in their IRC channel or mailing list to see how they want to handle your Feature Freeze Exception request.

Also, make sure to subscribe ubuntu-sponsors to a bug when you have a package ready for sponsoring into Ubuntu.

Revision history for this message
handsome_feng (feng-kylin) wrote :

Jeremy, Thank you!

summary: - [needs-packaging] UKUI desktop environment
+ [FFE] UKUI desktop environment
Jack Yu (jackyu)
summary: - [FFE] UKUI desktop environment
+ [FFe] UKUI desktop environment
Revision history for this message
handsome_feng (feng-kylin) wrote :

Currently, we have those packages need to be upload, they made up of the UKUI desktop environment with other mate packages:

1. ukui-desktop-environment
url: https://github.com/ukui/ukui-desktop-environment
Bug #1663477

2. ukui-menu
url: https://github.com/ukui/ukui-menu
Bug #1664229

3. ukui-indicators
url: https://github.com/ukui/ukui-indicators
Bug #1664232

4. peony
url: https://github.com/ukui/peony
Bug #1664235

5. ukui-control-center
url: https://github.com/ukui/ukui-control-center
Bug #1664244

6. ukui-screensaver
url: https://github.com/ukui/ukui-screensaver
Bug #1664247

7. ukui-session-manager
url: https://github.com/ukui/ukui-session-manager
Bug #1664256

Thank you!

Changed in ubuntukylin:
status: New → Confirmed
Revision history for this message
handsome_feng (feng-kylin) wrote :

Hi, jbicha, Laney, seb128, and other members of ubuntu release,
    Could you help to upload those packages when you are free?
    Thank you very much !

Revision history for this message
Jeremy Bícha (jbicha) wrote :

Thank you for your work on this. I uploaded ukui-desktop-environment to zesty's new queue. It will need to be reviewed and accepted by a member of the Ubuntu Archive Admin team before it will be published to Ubuntu.

I am unsubscribing ubuntu-sponsors now. Feel free to resubscribe if you have something else that needs sponsoring.

Changed in ubuntu:
status: Confirmed → In Progress
Revision history for this message
Jeremy Bícha (jbicha) wrote :

If all of these packages make it into Ubuntu 17.04, does Ubuntu Kylin plan to switch to UKUI instead of Unity for 17.04?

I haven't looked recently, but I remember that Ubuntu Kylin was different than other Ubuntu flavors because it just added packages to the regular Ubuntu (Desktop) .iso. If that's changing now, it might be a lot of work to make sure that the right packages are on your .iso so that everything works.

Revision history for this message
Ma Jun (maclin.jun) wrote :

Hi Jeremy, yes, we want to switch to UKUI by default. We have made iso tests locally and checked the needing packages. After all the UKUI packages are ready in the archive, we will change other UK packages adaptable to UKUI. Thanks.

Revision history for this message
handsome_feng (feng-kylin) wrote :

Hi, Could someone in Ubuntu Archive Admin team help to approve those UKUI packages? The final beta is coming soon, Thank you in advance !
1. ukui-desktop-environment
   bug: #1663477

2. ukui-menu
   Bug #1664229

3. ukui-indicators
   Bug #1664232

4. peony
   Bug #1664235

5. ukui-control-center
   Bug #1664244

6. ukui-screensaver
   Bug #1664247

7. ukui-session-manager
   Bug #1664256

Changed in ubuntukylin:
milestone: zesty-beta1 → zesty-finalrelease
Revision history for this message
xiaoyiwu (xiaoyiwu) wrote :

it's great!

Revision history for this message
handsome_feng (feng-kylin) wrote :

Sorry for bother again, but could anyone in Ubuntu Archive Admin team help to approve these UKUI pakcages? We are all waiting for this to do next step! :(

Thank you!

Revision history for this message
Jeremy Bícha (jbicha) wrote :

ukui-desktop-environment is in zesty-proposed because it depends on peony, ukui-indicators and ukui-control-center which haven't been accepted into Ubuntu yet.

affects: ubuntu → ukui-desktop-environment (Ubuntu)
Changed in ukui-desktop-environment (Ubuntu):
status: In Progress → Fix Committed
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package ukui-desktop-environment - 1.0.0

---------------
ukui-desktop-environment (1.0.0) zesty; urgency=medium

  * Initial release. (LP: #1663477)

 -- handsome_feng <email address hidden> Mon, 06 Mar 2017 10:17:34 +0800

Changed in ukui-desktop-environment (Ubuntu):
status: Fix Committed → Fix Released
Revision history for this message
Jeremy Bícha (jbicha) wrote :

All of these packages should be in zesty now.

Changed in ubuntukylin:
status: Confirmed → Fix Released
Revision history for this message
stavros daliakopoulos (stavrosd) wrote :

I have a question and you may answer if you like. Did you know that Mark was going to dump Unity and is that what you decided to fork MATE ?

Revision history for this message
handsome_feng (feng-kylin) wrote :

Hi, stavrosd, we know nothing about that. :)

Revision history for this message
Amr Ibrahim (amribrahim1987) wrote :

To the UKUI team, try to upload your packages to Debian. That would improve the quality and stability of your environment by exposing it to the wide Debian user base and its derivatives. Take the example of MATE. Good job and good luck!

Revision history for this message
stavros daliakopoulos (stavrosd) wrote :

@handsome_feng (feng-kylin) wow.

I also thing you should try to contact Debian about UKUI.

Revision history for this message
handsome_feng (feng-kylin) wrote :

Hi, Amr, stavros, We will do that, Thanks for your suggestion! :)

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Bug attachments

Remote bug watches

Bug watches keep track of this bug in other bug trackers.