{"action":"created","issue":{"url":"https://api.github.com/repos/OtterBrowser/otter-browser/issues/1240","repository_url":"https://api.github.com/repos/OtterBrowser/otter-browser","labels_url":"https://api.github.com/repos/OtterBrowser/otter-browser/issues/1240/labels{/name}","comments_url":"https://api.github.com/repos/OtterBrowser/otter-browser/issues/1240/comments","events_url":"https://api.github.com/repos/OtterBrowser/otter-browser/issues/1240/events","html_url":"https://github.com/OtterBrowser/otter-browser/issues/1240","id":201915300,"number":1240,"title":"Feature request: True detach","user":{"login":"ersi-dnd","id":6865273,"avatar_url":"https://avatars3.githubusercontent.com/u/6865273?v=4","gravatar_id":"","url":"https://api.github.com/users/ersi-dnd","html_url":"https://github.com/ersi-dnd","followers_url":"https://api.github.com/users/ersi-dnd/followers","following_url":"https://api.github.com/users/ersi-dnd/following{/other_user}","gists_url":"https://api.github.com/users/ersi-dnd/gists{/gist_id}","starred_url":"https://api.github.com/users/ersi-dnd/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ersi-dnd/subscriptions","organizations_url":"https://api.github.com/users/ersi-dnd/orgs","repos_url":"https://api.github.com/users/ersi-dnd/repos","events_url":"https://api.github.com/users/ersi-dnd/events{/privacy}","received_events_url":"https://api.github.com/users/ersi-dnd/received_events","type":"User","site_admin":false},"labels":[{"id":105384143,"url":"https://api.github.com/repos/OtterBrowser/otter-browser/labels/component:%20GUI","name":"component: GUI","color":"d4c5f9","default":false},{"id":42241276,"url":"https://api.github.com/repos/OtterBrowser/otter-browser/labels/enhancement","name":"enhancement","color":"009800","default":true},{"id":105299589,"url":"https://api.github.com/repos/OtterBrowser/otter-browser/labels/status:%20in%20progress","name":"status: in progress","color":"bfe5bf","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":{"url":"https://api.github.com/repos/OtterBrowser/otter-browser/milestones/13","html_url":"https://github.com/OtterBrowser/otter-browser/milestone/13","labels_url":"https://api.github.com/repos/OtterBrowser/otter-browser/milestones/13/labels","id":2221657,"number":13,"title":"The Next Big Thing","description":"","creator":{"login":"Emdek","id":1078195,"avatar_url":"https://avatars3.githubusercontent.com/u/1078195?v=4","gravatar_id":"","url":"https://api.github.com/users/Emdek","html_url":"https://github.com/Emdek","followers_url":"https://api.github.com/users/Emdek/followers","following_url":"https://api.github.com/users/Emdek/following{/other_user}","gists_url":"https://api.github.com/users/Emdek/gists{/gist_id}","starred_url":"https://api.github.com/users/Emdek/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Emdek/subscriptions","organizations_url":"https://api.github.com/users/Emdek/orgs","repos_url":"https://api.github.com/users/Emdek/repos","events_url":"https://api.github.com/users/Emdek/events{/privacy}","received_events_url":"https://api.github.com/users/Emdek/received_events","type":"User","site_admin":false},"open_issues":5,"closed_issues":6,"state":"open","created_at":"2016-12-30T21:04:37Z","updated_at":"2017-09-22T15:11:59Z","due_on":"2017-10-01T07:00:00Z","closed_at":null},"comments":24,"created_at":"2017-01-19T16:52:13Z","updated_at":"2017-09-25T07:11:02Z","closed_at":null,"author_association":"NONE","body":"It's an action to detach a tab from the main window. \"True detach\" means really just \"detach\" as distinguished from \"new window\".\r\n\r\nSomewhere around Opera 9.2~5 the drag-tab-to-desktop functionality was changed. Prior to it, the function was Detach. After that, it became indistinguishable from New Window.\r\n\r\nIn Opera INI terminology, the action was called \"Detach page\". In Opera's menu.ini on Windows, the menu item was invisible, because there was \"Platform Unix-QNX\" written in front of the relevant line. Remove that and the function becomes visible. (Applies to Opera version 8-early 9 on Windows.)\r\n\r\nTHE MAIN IDEA OF THE FEATURE\r\n\r\nAccording to my memory (and recent very limited testing), the action did the same thing as \"New window\", except:\r\n- No menubar\r\n- No tabbar\r\n- No statusbar\r\n- No panels (sidebar)\r\n\r\nThose are the toolbars where you can expect system menus and buttons. So the main idea is that the user sees in a detached window only buttons/menus applicable to that particular window, while the main window has buttons/menus applicable to the entire app. See the illustration.\r\n![detach](https://cloud.githubusercontent.com/assets/6865273/22113528/3d22acd6-de6f-11e6-9521-2eebc6a29068.png)\r\n\r\n\r\nWHY OPERA CHANGED/REMOVED THE FEATURE?\r\n\r\nWhen \"Continue from last time\" was ON (which it was by default after a fresh installation), noobs encountered the following problem: \r\n\r\n1. Close the main window\r\n2. Close the detached window(s)\r\nResult: Next launch of Opera opens only the last closed (menu-, tab-, status-, and sidebarless!) detached window. Bummer.\r\n\r\nTo avoid this, Opera made detached windows have all the main-window toolbars that were formerly missing from detached windows by design. The result was that Detach became the same thing as New Window. An undesired behaviour that followed was this: \r\n\r\n1. Have several windows open\r\n2. Open the panel (sidebar) on one of the windows\r\nResult: The panel opens on all windows.\r\n\r\nHOW OPERA SHOULD HAVE SOLVED THE NOOB PROBLEM\r\n\r\nTo avoid the noob problem, (one of) the right solution(s) would have been for the session algorithm (or   whatever you call it) to give priority to the main window.\r\n\r\n1. The session algorithm should comprehend the distinction between main window (with all the toolbars) and detached windows.\r\n2. A main window should always open up at every launch, i.e. even if a single detached window is closed last, next \"Continue from last time\" launches the (last closed) detached window only after the (last closed) main window has been automatically identified and launched first.\r\n\r\nTo put it another way:\r\n\r\n- If the user selects the action New Window, it means a new main window (with menu-, tab-, status-, and sidebar).\r\n- If the user selects the action Detach, it means a detached window (without menu-, tab-, status-, and sidebar).\r\n- The session algorithm should recognise the difference between the two kinds of windows and always launch a main window when the app is started.\r\n\r\nWHY TRUE DETACH WAS A TOTALLY AWESOME KILLER MUST-HAVE FEATURE THAT SHOULD BE REPLICATED IN OTTER\r\n\r\nBasically, screen real-estate economy. I personally used a 800x600 screen long into the 21st century and it made quite a difference whether I was browsing with IE (which tended to pop up ad banners as additional windows, messing up the desktop) + composing an e-mail in OE = those two things just didn't fit on the same screen side by side,\r\n\r\nor having a webpage open in Opera + an e-mail composer window detached from it = it was possible to type while at the same time checking the webpage. \r\n\r\nLately browser (and other app) makers have re-discovered the value of having a minimal window running in a corner. For example the [new (Silk Road Gold Brick) Opera has innovated the \"video popout\"](http://www.opera.com/blogs/desktop/2016/04/opera-beta-update-video-pop/) \r\n\r\nhttp://www-static-blogs.operacdn.com/multi/wp-content/uploads/sites/3/2016/04/sf-videocast-gif.gif\r\n\r\nLooks like a cool economical pleasant item for reference/distraction? Yes, except that Yt app on Android does the same thing, so it's not really an innovation, and old Opera was able to do the same with absolutely any window whatsoever, not just videos - by Detach.\r\n\r\nEven these days with FullHD screens (and bigger/denser), I'm sure power users would welcome and appreciate apps that honour screen real-estate economy."},"comment":{"url":"https://api.github.com/repos/OtterBrowser/otter-browser/issues/comments/331795521","html_url":"https://github.com/OtterBrowser/otter-browser/issues/1240#issuecomment-331795521","issue_url":"https://api.github.com/repos/OtterBrowser/otter-browser/issues/1240","id":331795521,"user":{"login":"Emdek","id":1078195,"avatar_url":"https://avatars3.githubusercontent.com/u/1078195?v=4","gravatar_id":"","url":"https://api.github.com/users/Emdek","html_url":"https://github.com/Emdek","followers_url":"https://api.github.com/users/Emdek/followers","following_url":"https://api.github.com/users/Emdek/following{/other_user}","gists_url":"https://api.github.com/users/Emdek/gists{/gist_id}","starred_url":"https://api.github.com/users/Emdek/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Emdek/subscriptions","organizations_url":"https://api.github.com/users/Emdek/orgs","repos_url":"https://api.github.com/users/Emdek/repos","events_url":"https://api.github.com/users/Emdek/events{/privacy}","received_events_url":"https://api.github.com/users/Emdek/received_events","type":"User","site_admin":false},"created_at":"2017-09-25T07:11:02Z","updated_at":"2017-09-25T07:11:02Z","author_association":"OWNER","body":"@ersi-dnd, take a look into `ActionsManager.cpp` and look for `IsDeprecatedFlag`, some of these actions shouldn't be used anymore (they are scheduled for removal) and you have to use `ShowToolBarAction` together with `toolBar` parameter that accepts strings like `MenuBar` etc. (values from `ToolBarIdentifier` enumerator from `ToolBarsManager.h` and names of custom toolbars).\r\nCurrently they are planned to change visibility just for current mode (for example force them to show in fullscreen mode while you are in fullscreen mode), at least for default actions (these used in Toolbars menu).\r\nBut I can later extend it to support `mode` parameter too (including special value to set visibility for all modes).\r\nAlso note that there is generic `isChecked` parameter used by actions that are defined as toggles, so when it is present then you can use it to create explicit action to just show or to just hide specified toolbar (and it doesn't work at this time, will be fixed later today)."}}
{"actor":{"display_login":"Emdek"}}