Commit graph

59 commits

Author SHA1 Message Date
Saswat Bhattacharya
d243a45173 feat: implement 'app-command' events for browser history navigation keys on Linux (#15441)
* Added mouse forward/back button support on Linux

* Added browser history navigation action bindings for Windows, Mac, and Linux keyboard

* Removed new `history-action` event and modified `app-command` to execute on such events

* Removed attempt at macOS support and added constants

* Clarified app-command documentation

* Reverted 'app-command' description change

* Format code
2018-12-05 09:35:59 -08:00
Samuel Attard
6b4b7c9831 chore: make BrowserObserver a CheckedObserver
refs: https://chromium-review.googlesource.com/c/chromium/src/+/1053338
2018-12-03 20:07:38 +05:30
Shelley Vohr
27bbf6a3c6 feat: add evt listeners for SetAlwaysOnTop (#14951)
* feat: add evt listeners for SetAlwaysOnTop

* only emit one event on AlwaysOnTop change

* docs: add new alwaysontop event

* dont emit if theres no change

* address feedback from review
2018-10-04 13:02:16 -05:00
Siddharth Dalal
afdb6c5f90 feat: 'will-move' event for windows. (#14283)
* feat: 'will-resize' window event (Windows only)

* documentation for 'will-move' event

* comment and line break fix in docs
2018-08-28 08:44:10 -05:00
Birunthan Mohanathas
c8dc2d3730 feat: Add will-resize event to TopLevelWindow (#13649)
The new `will-resize` event can be used to prevent the resize from
happening before the native window is actually resized. This is in
contrast to the existing the `resize` event, which is sent *after* the
native window has already been resized. For apps with e.g. custom window
snapping logic, the `resize` event is not sufficient because it will
result in flickering between the dragged size and the snapped size.

`will-resize` is only emitted on macOS and Windows.
2018-07-27 18:53:01 +09:00
Shelley Vohr
53bdf22c85
clang-format atom files 2018-04-18 20:48:45 -04:00
Cheng Zhao
cad3d694ab mac: Remove access to webContents in windowWillUseStandardFrame 2018-03-06 16:20:37 +09:00
Cheng Zhao
c611eb061d Move InputEventObserver to api::BrowserWindow 2018-02-22 19:01:45 +09:00
Cheng Zhao
aa3eafcea1 Move closing logic to api::BrowserWindow
Closing a BrowserWindow is essentially closing a WebContents, the logic
should not be in NativeWindow.
2018-02-22 19:01:45 +09:00
Cheng Zhao
66fab65a1a Add NativeWindowObserver::OnCloseButtonClicked 2018-02-22 19:01:45 +09:00
Cheng Zhao
c256a43139 Move ready-to-show to api::BrowserWindow 2018-02-22 19:01:45 +09:00
Cheng Zhao
0d9a157914 Turn api::Window into a WebContentsObserver 2018-02-22 19:01:45 +09:00
Daniel Ma
4fb9f825b1 Add "New Tab" button for Native macOS Tabs
Adds responders for `newWindowForTab` to `AtomApplicationDelegate` and
`NativeWindowMac`, so that `BrowserWindow`s with a `tabbingIdentifier`
will get the new tab button, and both `app` and `window` will emit a
`new-tab-for-window` event.
2017-06-11 02:26:26 -07:00
Hari Krishna Reddy Juturu
8a32826876 Removing #ifdef windows for endsession methods 2017-04-24 11:49:21 -07:00
Hari Krishna Reddy Juturu
3c3e14b820 End session event on browser window 2017-04-21 14:22:11 -07:00
Kevin Sawicki
29a3e11893 Group sheet event methods with other macOS methods 2017-04-20 10:32:14 -07:00
Yuya Ochiai
75184046f6 Add events to manage sheets of macOS BrowserWindow 2017-04-15 16:26:45 +09:00
Kevin Sawicki
9f323104e7 Remove unused include 2017-03-03 14:11:09 -08:00
Kevin Sawicki
cbb6f8c33e Store event listeners in each TouchBar class 2017-03-03 14:00:38 -08:00
Samuel Attard
d1b3ba39bd Fix cpp linting 2017-03-03 14:00:38 -08:00
Samuel Attard
18c7c3ece8 Make label and colorpicker types work 2017-03-03 14:00:38 -08:00
Samuel Attard
703b5738c8 Initial TouchBar Magic
* Make the AtomNSWindow also a NSTouchbarDelegate
* Implement basic makeTouchBar and makeItemForIdentifier methods
* Initial sending of touch / update events through IPC to BrowserWindowObjects

TODO:
* JS API
* JS Object Converters
* Generalize methods so that popovers can work
2017-03-03 14:00:38 -08:00
Anthony Tseng
269a87b26f Emit scroll-touch-edge event instead of changing the behavior of scroll-touch-begin/end
fix #6873
2016-09-17 22:50:10 +08:00
Kevin Sawicki
7a0129bbc7 Correct misspelling of destroy in method name 2016-08-25 12:28:57 -07:00
Cheng Zhao
f4bec78ccb linux: Implement win.setParentWindow(parent) 2016-06-20 11:16:41 +09:00
Cheng Zhao
4d65af3c60 Add ready-to-show event 2016-06-13 21:20:16 +09:00
James Wheare
8482109dea Switch to a single OS X swipe event with a direction argument 2016-03-23 15:20:11 +00:00
James Wheare
03319a5426 OSX: Capture 3-finger swipe events in NativeWindow 2016-03-18 15:21:19 +00:00
Arek Sredzki
c1267b2320 Added 'show' & 'hide' events to browser-window, fixed visibilitychange event in renderer 2016-03-10 13:51:31 -08:00
Ben Gotow
d492ff45d5 Rename up/down => begin/end 2016-01-21 16:31:09 -08:00
Ben Gotow
bd2252ea55 Extend NativeWindow to track touch-based scroll events on OS X
In N1, we want to implement the famous "swipe to archive" action on threads in the user's inbox. Chrome exposes `scroll` and `wheel` events, but these aren't sufficient to implement the interaction because the element needs to "snap" when the user lifts their fingers from the trackpad, not when they / we stop receiving `wheel` / `scroll` events. These events may stop before the user lifts their fingers, or continue after the user has lifted their fingers if they had enough momentum for the gesture to continue.

This exposes BrowserWindow `scroll-touch-down` and `scroll-touch-up`, which fire immeditaely when the user touches two fingers to the trackpad, and again when the user lifts their fingers. Combined with the existing wheel event should allow for "swipe-to-archive" and other similar interactions.

Note: This is only implemented on Mac OS X and the events don't fire unless you're using a trackpad!

Related: #1486, #2683, https://github.com/nylas/N1/issues/541
2016-01-21 09:40:21 -08:00
Cheng Zhao
8d20dda6d7 No need to override TitleWasSet in NativeWindow 2015-12-01 17:51:09 +08:00
Cheng Zhao
917b33dbe7 Small code cleanup 2015-10-29 10:55:08 +08:00
Omri Litov
ef038257d1 Returns buffer instead of WPARAM and LPARAM 2015-10-29 03:00:44 +02:00
Omri Litov
f22837523f Use WPARAM as uint64_t and LPARAM as int64_t 2015-10-28 21:54:50 +02:00
Cheng Zhao
b86267aa3b Use uint64_t instead of LPARAM
LPARAM is defined to differnt types on differnt machines with different
SDKs, so there is no way to represent it on all platforms safely, using
uint64_t seems to be the only safe choice.
2015-10-28 19:51:24 +08:00
Omri Litov
e355532d27 Change windows messages api to hook instead of emitter 2015-10-27 14:00:08 +02:00
Omri Litov
edbebf84b9 Added browser-window event 'message' 2015-10-27 03:12:01 +02:00
Cheng Zhao
83c514001e Move devtools API to WebContents 2015-10-01 11:25:31 +08:00
Cheng Zhao
86f523d3c1 Move BeginFrameSubscription to WebContents 2015-09-18 15:57:43 +08:00
Heilig Benedek
e4c01f3187 Offscreen render support base 2015-08-27 11:22:39 +02:00
Paul Betts
58efb3c018 I forget cpplint every time 2015-06-25 15:09:25 -06:00
Paul Betts
cde7c6a4ef Move app commands to strings 2015-06-25 11:29:57 -06:00
Paul Betts
d98cece115 Create a new method for NativeWindowObserver for AppCommands 2015-06-25 11:29:20 -06:00
Cheng Zhao
05468cc3fa Remove devtools APIs from NativeWindow 2015-06-05 17:01:17 +08:00
deepak1556
9a60fde59b alias move and moved event on OS X 2015-05-22 12:24:12 +05:30
deepak1556
3a5977e09f window: adding resize and move events 2015-05-22 12:13:00 +05:30
deepak1556
f2d91bc53c adding events to notify fullscreen state 2015-05-21 10:16:11 +05:30
Robo
3aefa5f549 browserWindow: adding devtools-focused event 2015-04-02 12:23:57 +05:30
Cheng Zhao
fd596d4a65 Add "will-navigate" event for BrowserWindow 2014-12-17 14:40:19 -08:00