Commit graph

259 commits

Author SHA1 Message Date
Cheng Zhao
83c514001e Move devtools API to WebContents 2015-10-01 11:25:31 +08:00
Eran Tiktin
ee0f0f6cfc Fix window state events on Windows
This commit fixes the issue we had with window state events not firing
when triggered through Aero Snap.
Instead of listening to command from the system menu (SC_MAXIMIZE etc.),
we use the WM_SIZE event.

This resolves #1381.
2015-09-29 02:20:09 +03:00
Cheng Zhao
da57a3101f Call WasShown when showing window
Otherwise WebContents would be invisible when window is hidden at first
and then show later.

Refs #2879.
2015-09-24 18:16:41 +08:00
Cheng Zhao
6e75af5c0f Move SetOverlayIcon to TaskbarHost 2015-08-06 13:07:00 +08:00
Cheng Zhao
2d6f8350cb Move SetProgressBar to TaskbarHost 2015-08-06 12:54:00 +08:00
Cheng Zhao
a28f70e85c Decouple TaskbarHost from NativeWindow 2015-08-06 11:10:34 +08:00
Cheng Zhao
8f8c3aef87 ThumbarHost => TaskbarHost 2015-08-06 10:30:22 +08:00
Cheng Zhao
39af10cc8d Move thumbar_host_ from TreeHost to NativeWindow 2015-08-06 10:25:50 +08:00
Cheng Zhao
d175a68586 Add MessageHandlerDelegate 2015-08-06 10:15:27 +08:00
Haojian Wu
2f1cb8b52a Expose NativeWindow.setThumbarButtons API to all platforms. 2015-08-05 22:30:05 +08:00
Haojian Wu
78eac4116c Polish thumbar code.
* Fix a memory leak in thumbar initialization.
* Check the number of thumbar buttons, should be <= 7.
* Correct to check thumbar button click event.
2015-08-05 19:38:12 +08:00
Haojian Wu
dfd076a3e5 Move atom_desktop_window_tree_host_win to atom/browser/ui/win directory. 2015-08-05 13:55:06 +08:00
Haojian Wu
54af048f04 win: Add BrowserWindow.setThumbarButtons API. 2015-08-05 13:55:02 +08:00
Cheng Zhao
bbd6c927b1 Remove a few unused headers 2015-08-05 13:18:41 +08:00
Cheng Zhao
adbb909b39 Move ShouldUseGlobalMenuBar to x_window_utils 2015-08-05 13:16:03 +08:00
Cheng Zhao
58b1172025 Avoid exposing data members to subclass 2015-08-05 12:46:32 +08:00
Cheng Zhao
58c0486236 Remove duplicate UpdateDraggableRegions 2015-08-05 12:32:22 +08:00
Jonathan
9dab6e02ca Fix typo 2015-07-31 20:14:50 +02:00
Cheng Zhao
73ded9d378 linux: Fix min/max size not working 2015-07-24 16:21:44 +08:00
Haojian Wu
3840a10da6 Fix app-command event always return 'unknown'. 2015-07-24 13:02:11 +08:00
Cheng Zhao
3315e6bda5 Merge pull request #2080 from deepak1556/linux_fullscreen_patch
window: use _NET_WM_STATE_FULLSCREEN before window is mapped
2015-07-05 16:44:42 +08:00
Robo
b5c5cce725 window: use _NET_WM_STATE_FULLSCREEN before window is mapped 2015-06-29 19:44:56 +05:30
ankitaggarwal011
1c907ffa36 🐛 Solves issue #2047 [Windows fullscreen bug] 2015-06-29 00:10:51 +05:30
Cheng Zhao
b5ff77ef0d Small cleanups 2015-06-26 11:20:12 +08:00
Cheng Zhao
bff66caaa6 Only convert command ID on Windows 2015-06-26 11:16:50 +08:00
Paul Betts
794f89abf5 In our widget delegate, signal our Observer 2015-06-25 11:29:21 -06:00
Cheng Zhao
9f52b11761 Remove NativeWindow::GetWebContents 2015-06-25 14:54:00 +08:00
Cheng Zhao
62c44ee47b Rename CloseWebContents to RequestToClosePage 2015-06-25 13:27:51 +08:00
Cheng Zhao
e41b0d4d2c Remove NativeWindow::ActivateContents 2015-06-25 13:18:36 +08:00
Cheng Zhao
eb370ba22a Allowing destroying a closed window 2015-06-25 13:08:11 +08:00
Cheng Zhao
5236b0c067 Don't create WebContents in NativeWindow 2015-06-25 09:47:57 +08:00
Cheng Zhao
19436358fb win: Fix setContentSize changing window position
Close #1934.
2015-06-18 16:17:13 +08:00
Cheng Zhao
5ae9c633ca Fix building on Windows, close #1896 2015-06-08 13:19:56 +08:00
Cheng Zhao
5d23b7468e Allow removing menu bar 2015-06-04 16:10:19 +08:00
Cheng Zhao
c244e83e10 Merge pull request #1633 from deepak1556/window_event_patch
window: adding resize and move events
2015-05-27 14:54:36 +08:00
Cheng Zhao
e233eab4f2 HandleMouseDown is deprecated 2015-05-23 11:58:20 +08:00
deepak1556
9a60fde59b alias move and moved event on OS X 2015-05-22 12:24:12 +05:30
Robo
f46fcd158a chnage move hook and add details to doc 2015-05-22 12:13:01 +05:30
deepak1556
3a5977e09f window: adding resize and move events 2015-05-22 12:13:00 +05:30
Cheng Zhao
0d4d2080ca Implement size and position APIs with bounds API 2015-05-04 12:47:56 +08:00
deepak1556
9ae59e8ac7 removed move utility and replaced with setbounds 2015-05-01 20:10:46 +05:30
deepak1556
ae6a1b409f window: adding setBounds and getBounds api 2015-05-01 16:20:53 +05:30
deepak1556
20b4cae980 window: supports HTML5 fullscreen api 2015-04-23 12:14:29 +05:30
Cheng Zhao
c5c686fe8c linux: Fix compilation error 2015-03-29 21:35:40 +08:00
Cheng Zhao
9b68777b4b Minor fixes of #1309
* Line length should <= 80 cols.
* Add missing "s".
2015-03-29 20:40:02 +08:00
Cheng Zhao
3b1be743ef Merge pull request #1309 from hokein/workspace-visible-api
Add workspace visible APIs
2015-03-29 20:37:07 +08:00
Haojian Wu
0342854e25 Update workspace visible APIs. 2015-03-29 10:01:52 +08:00
Cheng Zhao
83024ea509 views: Restore window state when showing window 2015-03-26 16:43:38 +08:00
Haojian Wu
476b61322f Add SetVisibleOnAllWorkspaces/IsVisibleOnAllWorkspaces API.
These two APIs are only available on OS X/Linux platforms.
2015-03-26 14:18:37 +08:00
Cheng Zhao
f0924df68a Add "type" option to change window type 2015-02-11 12:19:39 +08:00
Paul Betts
86de75deef Style fixups 2015-02-10 17:14:26 -08:00
Paul Betts
8a7acfc6c0 icon_util is Windows-only 2015-02-07 11:57:00 -08:00
Paul Betts
ef869fb2ff We need a UTF-16 string here 2015-02-06 17:00:38 -08:00
Paul Betts
1b9649b481 Switch to gfx::Image 2015-02-06 17:00:26 -08:00
Paul Betts
fa6d499a4e Come correct with line length and constness 2015-02-06 16:32:27 -08:00
Paul Betts
0afac1e05a Plumb code all the way up 2015-02-06 16:12:32 -08:00
Paul Betts
66f2d18d8b First hack at setting the window icon overlay 2015-02-06 15:58:49 -08:00
Cheng Zhao
43421aedcf OVERRIDE macro is now removed 2015-01-27 13:18:30 -08:00
Cheng Zhao
6939567cb4 win: Make transparent window resizable 2014-12-23 17:24:04 -08:00
Cheng Zhao
1a34e09a45 views: Make transparent window work 2014-12-23 16:55:57 -08:00
Cheng Zhao
98127ba13c linux: Fix building 2014-12-15 17:28:51 -08:00
Cheng Zhao
cb911b19dd win: Fixes stopping FlashFrame, closes #906 2014-12-15 17:27:58 -08:00
Cheng Zhao
1641caf353 Fix cpplint warnings 2014-12-15 16:57:04 -08:00
Cheng Zhao
23951e6ef3 views: Implement CanMinimize, fixes #918 2014-12-15 16:46:37 -08:00
Cheng Zhao
c9a5c6515c views: Make it possible to show a window in maximized state
Fixes #834.
2014-12-15 16:38:20 -08:00
Cheng Zhao
0ab32bfe17 win: Reserve border space for maximized frameless window
Fixes #732.
2014-12-15 16:01:11 -08:00
Cheng Zhao
3d30e6ddc4 win: Don't allow maximzing a unresiazble frameless window
Fixes #857.
2014-12-15 12:55:16 -08:00
Cheng Zhao
e3ccb18696 win: Fix calculating window bounds on high DPI display 2014-12-12 09:04:43 -08:00
Cheng Zhao
271eb63083 SetFullscreen => SetFullScreen 2014-11-25 14:34:14 +08:00
Cheng Zhao
28ca883805 win: Implement window state events 2014-11-25 14:28:34 +08:00
Cheng Zhao
588cc3c7ab Make WindowStateWatcher X11 only
On Windows we need to take another way of detecting window state events.
2014-11-25 13:05:04 +08:00
Cheng Zhao
06cc27c6b3 views: Add WindowStateWatcher 2014-11-25 11:46:30 +08:00
Cheng Zhao
cd5007cfa1 linux: Set WM_CLASS for devtools window 2014-11-24 16:04:41 +08:00
Cheng Zhao
172c55d194 linux: Use app's name for WM_CLASS 2014-11-24 15:51:26 +08:00
Cheng Zhao
60bd20872c linux: Set WM_WINDOW_ROLE correctly
WM_WINDOW_ROLE is used to specify the "role" of the window, and all
browser windows in atom-shell should have the same role.
2014-11-24 15:23:02 +08:00
Cheng Zhao
1cd3918494 views: Implement menubar APIs 2014-11-12 20:32:14 +08:00
Cheng Zhao
14d01544d4 Tidy code in CreateNonClientFrameView 2014-11-12 14:33:30 +08:00
Frank Hale
e9636bb87b Fix CPP formatting 2014-11-12 01:11:25 -05:00
Frank Hale
246a145930 Fix merge conflict with native_window_views.cc 2014-11-12 01:04:51 -05:00
Frank Hale
c9371bceec Force native window
- Force native frame and suppress the Chromium default blue frame. This
resolves issues with Windows systems that are running in VM's and cannot
enable Aero Glass. Atom-Shell was adding the default Chromium blue frame
even when frame was set to false in the BrowserWindow options.
2014-11-12 00:45:21 -05:00
Frank Hale
e0dae4054a Fix code style to be <= 80 lines 2014-11-11 13:09:54 -05:00
Frank Hale
24f8c51959 Make sure frame is frameless 2014-11-07 13:34:52 -05:00
Frank Hale
4b20ac3dc6 Fix Windows min/max animation on frameless windows
- Frameless windows disappeared or appears when minimized and maximized
on Windows. This commit fixes that.
2014-11-07 13:13:12 -05:00
Cheng Zhao
edcae49e52 views: Fix showing menu bar when pressing Alt for a long time 2014-11-07 15:20:16 +08:00
Cheng Zhao
81283db2da views: Make auto-hide-menu-bar work when NumLock is on, fixes #796 2014-11-07 15:05:55 +08:00
Kevin Sawicki
b6b6fc3bfd Remove All Rights Reserved after GitHub copyright
Closes #762
2014-10-31 11:17:05 -07:00
Cheng Zhao
f82de6528b linux: Fix detect global menu bar
It seems that detecting the bus name "com.canonical.AppMenu.Registrar"
is the most reliable way to detect whether the appmenu is available, see
http://git.io/JmP7Yg for the discussion.
2014-10-21 12:10:31 +08:00
Cheng Zhao
141894aacd Implement BrowserWindow::ShowInactive 2014-10-17 22:51:20 +08:00
Cheng Zhao
85afa851dd win: Fix toggling the menubar, closes #681 2014-10-17 16:43:57 +08:00
Cheng Zhao
ae76657e17 Still requires unity for global app menubar
Fixes #709 and atom/atom#3854.
2014-10-17 16:06:45 +08:00
Matthieu Baerts
940b40439f linux: GlobalMenu: UBUNTU_MENUPROXY with >1 char
When testing if $UBUNTU_MENUPROXY is set, we should also check if it
contains more than one character. Avoid cases when $UBUNTU_MENUPROXY is
set to 0 or 1.
2014-10-15 14:17:18 +02:00
Cheng Zhao
51acba594b Merge pull request #698 from matttbe/master
linux: Rename window's class to Atom
2014-10-14 18:58:37 +08:00
Matthieu Baerts
7cd4d35778 linux: GlobalMenu: only if UBUNTU_MENUPROXY is set
When checking if we should react differently when GlobalMenu bar is
used, we should check if UBUNTU_MENUPROXY env var is (correctly) set
instead of checking if we're using Unity on a Unity session.

It's better to do that because we can use Compiz on a Unity session
without Unity. Or we can also use Unity in a different session.
2014-10-12 21:16:32 +02:00
Matthieu Baerts
8296178e33 linux: Rename window's class to Atom
The window's class should be Atom instead of Atom Shell because the
launcher and the binary to launch Atom are called 'atom' and not 'atom
shell'. This is why currently all Atom's windows will not be linked to
their launcher in a dock (e.g. with Cairo-Dock).

Note that it's not advised to add white-spaces in a window's class
('Atom Shell').
2014-10-12 18:47:49 +02:00
Alexander Neu
6c9769999b win: Fix total value in SetProgressBar API. 2014-09-29 12:50:51 +02:00
Haojian Wu
d9ce3f0ca3 linux: Implement SetProgressBar API. 2014-09-18 19:26:52 +08:00
Haojian Wu
d8f57a0ecc Correct code style. 2014-09-18 16:48:00 +08:00
Haojian Wu
b5e82dac6f win: Implement SetProgressBar API. 2014-09-17 09:42:47 +08:00
Cheng Zhao
bda317b000 views: Set devtools window's icon, fixes #429. 2014-09-09 15:30:33 +08:00
Cheng Zhao
1199224086 BrowserWindow.show() should not focus window, fixes #609. 2014-09-08 15:28:34 +08:00
Cheng Zhao
9546120ce4 linux: Fix API changes of Chrome 37. 2014-09-01 20:10:14 +08:00
Cheng Zhao
400d5cef3f linux: Fix BrowserWindow.setResizable. 2014-08-26 13:37:37 +08:00
Cheng Zhao
af531d685e linux: Make BrowserWindow.setSkipTaskbar work dynamically. 2014-08-26 12:15:22 +08:00
Cheng Zhao
eb5f1f78bf linux: Set WM_CLASS and WM_WINDOW_ROLE for window, fixes #605. 2014-08-26 10:34:48 +08:00
Cheng Zhao
058d0bbe19 linux: Add "dark-theme" option for BrowserWindow, fixes #352. 2014-08-21 12:25:43 +08:00
Cheng Zhao
29abba824d A little cleanup. 2014-08-18 16:19:23 +08:00
Cheng Zhao
a230daa998 views: Pressing "Alt+Key" should bring up the menu bar. 2014-08-18 14:52:44 +08:00
Cheng Zhao
ba41634ad6 views: Show menubar's submenu when "Alt+Key" is pressed. 2014-08-18 14:42:21 +08:00
Cheng Zhao
e9536508a5 views: Show menubar's accelerator when "Alt" is pressed. 2014-08-18 14:12:12 +08:00
Cheng Zhao
cbd6541e9a views: Fix compilation error. 2014-08-17 12:57:22 +08:00
Cheng Zhao
2a9f5a5fb8 Add "enable-larger-than-screen" option for BrowserWindow.
From now on BrowserWindow can only be resized larger than screen or
moved out of screen when this option is set to "true".

Fixes #582.
2014-08-17 12:23:00 +08:00
Cheng Zhao
a8ca0329b4 win: Show minimize button for unresizable window, fixes #411. 2014-08-12 22:58:19 +08:00
Cheng Zhao
d1a93a5135 views: Set a default maximum window size.
It is required to make the window able to be resized larger than the
screen.
2014-08-11 20:36:53 +08:00
Cheng Zhao
445fe158cc Store window icon as ImageSkia. 2014-08-11 10:06:46 +08:00
Cheng Zhao
c4b0170a0a views: Only toggle menu bar when auto-hide-menu-bar is turned on. 2014-08-08 14:30:43 +08:00
Cheng Zhao
8cc49ffa80 menu_bar_show_ => menu_bar_visible_ 2014-08-07 16:48:30 +08:00
Cheng Zhao
58a09f6495 linux: Fix detecting Alt modifier. 2014-08-07 16:46:50 +08:00
Cheng Zhao
c2885f77c9 views: Focus on web view when window is focused. 2014-08-07 16:46:48 +08:00
Cheng Zhao
5d5a3138bc views: Toggle the menu bar only when a single Alt is released. 2014-08-07 15:54:05 +08:00
Cheng Zhao
09f9d0729c views: Show menu when "Alt" is up. 2014-08-07 15:07:34 +08:00
Cheng Zhao
3d989b6736 win: Fix the key code of Alt. 2014-08-07 15:02:27 +08:00
Cheng Zhao
daa00e6539 views: Add some asserts and comments. 2014-08-07 14:48:02 +08:00
Cheng Zhao
92d6fd641f views: Hide menu bar when web view is clicked. 2014-08-07 14:14:43 +08:00
Cheng Zhao
f219e7f0dd views: Switching to other window should hide the menubar. 2014-08-07 14:02:03 +08:00
Cheng Zhao
8a9e1824c3 views: Add support for auto-hide menubar. 2014-08-07 13:47:58 +08:00
Cheng Zhao
a888e4b960 linux: Only use global menu bar under Unity.
Fixes atom/atom#3182.
2014-08-06 23:34:16 +08:00
Cheng Zhao
d25645ba67 win: Make BrowserWindow.setResizable change window frame dynamically. 2014-08-05 20:41:26 +08:00
Cheng Zhao
a8cd101ff5 win: Fix window frame when DWM is disabled, closes #519. 2014-08-05 18:17:14 +08:00
Cheng Zhao
4a7e98e398 linux: Only use global application menubar on unity.
Fixes atom/atom#3114.
2014-07-31 13:11:03 +08:00
Cheng Zhao
87019a1a70 views: No need to destroy Widget, CloseNow already closed native window. 2014-07-28 20:28:54 +08:00
Cheng Zhao
ec4275ca13 Make sure window is closed before WebContents is destroyed.
Otherwise we would get "RawChannel fatal error".
2014-07-28 20:28:51 +08:00
Cheng Zhao
7a89a08534 Update to new Chromium APIs. 2014-07-28 20:28:49 +08:00
Cheng Zhao
cab00a1450 views: Return restored bounds when window is minimized, fixes #473.
On Window the minimized window would have a fake bounds that is out of
the screen, which is not consistent to other platforms' behavior.
2014-07-26 14:20:50 +08:00
Cheng Zhao
ce50b38a75 Add BrowserWindow.isMaximized API. 2014-07-26 13:58:26 +08:00
Cheng Zhao
e8d59c4326 views: Fix showing window icon, closes #514. 2014-07-26 12:06:38 +08:00
Cheng Zhao
709670be8e win: Make menu bar height 20.
On Windows applications used to have lower menu bars.
2014-07-25 15:05:18 +08:00
Cheng Zhao
1a5c0ab1ae linux: Implement min/max size of window. 2014-07-24 21:02:13 +08:00
Cheng Zhao
11634740d3 linux: Use native window frame. 2014-07-24 18:06:27 +08:00
Cheng Zhao
a15ee1871a win: Implement SetSkipTaskbar. 2014-07-21 22:13:45 +08:00
Cheng Zhao
1a79093378 views: Add menu should not change window size. 2014-07-21 20:58:15 +08:00
Cheng Zhao
0f18d63f7f views: Implement the window menu bar. 2014-07-17 14:23:28 +08:00
Cheng Zhao
2ee7caccfe views: Add an empty menu bar. 2014-07-16 22:12:57 +08:00
Cheng Zhao
2a2fc4903d linux: Share code on frameless window with Windows. 2014-07-16 16:00:08 +08:00
Cheng Zhao
6de595f036 win: Implement frameless window. 2014-07-16 15:33:40 +08:00
Cheng Zhao
643a47cf7d win: Use native frame for browser windows. 2014-07-12 11:36:08 +08:00
Cheng Zhao
5c99dff36d linux: Remove dead code on accessing window tree host. 2014-07-11 23:27:45 +08:00
Cheng Zhao
8d4211bd3a win: Fix compilation errors for chrome35. 2014-07-11 12:19:01 +08:00
Cheng Zhao
7e86e53593 linux: Add support for unity global menubar. 2014-07-11 08:57:19 +08:00
Cheng Zhao
4e4227aef8 views: Implement focus and blur event. 2014-07-08 12:55:33 +08:00
Cheng Zhao
ee5312fff9 Merge branch 'master' into chrome35
Conflicts:
	atom/browser/native_window_gtk.h
2014-07-07 23:49:28 +08:00