{"action":"created","issue":{"url":"https://api.github.com/repos/linuxmint/Cinnamon/issues/4261","labels_url":"https://api.github.com/repos/linuxmint/Cinnamon/issues/4261/labels{/name}","comments_url":"https://api.github.com/repos/linuxmint/Cinnamon/issues/4261/comments","events_url":"https://api.github.com/repos/linuxmint/Cinnamon/issues/4261/events","html_url":"https://github.com/linuxmint/Cinnamon/issues/4261","id":85233801,"number":4261,"title":"The architecture of indicator.","user":{"login":"lestcape","id":1389572,"avatar_url":"https://avatars.githubusercontent.com/u/1389572?v=3","gravatar_id":"","url":"https://api.github.com/users/lestcape","html_url":"https://github.com/lestcape","followers_url":"https://api.github.com/users/lestcape/followers","following_url":"https://api.github.com/users/lestcape/following{/other_user}","gists_url":"https://api.github.com/users/lestcape/gists{/gist_id}","starred_url":"https://api.github.com/users/lestcape/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lestcape/subscriptions","organizations_url":"https://api.github.com/users/lestcape/orgs","repos_url":"https://api.github.com/users/lestcape/repos","events_url":"https://api.github.com/users/lestcape/events{/privacy}","received_events_url":"https://api.github.com/users/lestcape/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/linuxmint/Cinnamon/labels/FEATURE%20REQUEST","name":"FEATURE REQUEST","color":"02e10c"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":9,"created_at":"2015-06-04T19:07:35Z","updated_at":"2015-06-08T05:42:57Z","closed_at":null,"body":"Hi. As i know is planned include the indicator on cinnamon and i want to help on this. I need to know some basic things. I have currently two different ways to implement this. Inside there are a lot of decision that need to be taken on account... As include more things on the api of cinnamon popup menu or only as part of the indicator. \r\n\r\nThe implementations that i have are:\r\n1- The copy of the indicator with several change to work in cinnamon (https://github.com/lestcape/Appindicator).\r\n2- A rewrite of the 1 to allow reuse the menu factory to construct any menu and also allow override the current functionality (https://github.com/lestcape/Global-AppMenu).\r\n\r\nIn 1, the menu factory api is \"final\" and is part of the dbusmenu api by design. In the second, the factory can be reuse to build any abstract type of menu and is part of the popup menu api by design.\r\n\r\nI create the second, because i use in the Global Menu API two types of DBus Menu, one for GTK and other for KDE, so Is useful have a dynamic API. In the indicator, only is useful the KDE, but a dynamic api could be useful to other things. For example: if you use the api on cinnamon menu applet, then you not need to rebuild the full cinnamon menu applet structure, when you install one application."},"comment":{"url":"https://api.github.com/repos/linuxmint/Cinnamon/issues/comments/109871448","html_url":"https://github.com/linuxmint/Cinnamon/issues/4261#issuecomment-109871448","issue_url":"https://api.github.com/repos/linuxmint/Cinnamon/issues/4261","id":109871448,"user":{"login":"lestcape","id":1389572,"avatar_url":"https://avatars.githubusercontent.com/u/1389572?v=3","gravatar_id":"","url":"https://api.github.com/users/lestcape","html_url":"https://github.com/lestcape","followers_url":"https://api.github.com/users/lestcape/followers","following_url":"https://api.github.com/users/lestcape/following{/other_user}","gists_url":"https://api.github.com/users/lestcape/gists{/gist_id}","starred_url":"https://api.github.com/users/lestcape/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lestcape/subscriptions","organizations_url":"https://api.github.com/users/lestcape/orgs","repos_url":"https://api.github.com/users/lestcape/repos","events_url":"https://api.github.com/users/lestcape/events{/privacy}","received_events_url":"https://api.github.com/users/lestcape/received_events","type":"User","site_admin":false},"created_at":"2015-06-08T05:42:57Z","updated_at":"2015-06-08T05:42:57Z","body":"Well i will try to merge all things and implement the initial code in a functional way, i will separate in different file what i think need to be part of some current cinnamon file. I have my own menu api, but i will use the cinnamon api instead. In the cinnamon api is not allowed have several popup menus opened at the same time, so what I will do is a submenu inside a submenu, like is in gnome shell. There are an implementation to open two submenus in the cinnamon code, i enhanced this implementation to show more than two. This can be considered, and then can merge when the rest can work ok, is will be required."}}