Commit Graph

16001 Commits

Author SHA1 Message Date
Ash Wilson
fb0e29cf07 Merge pull request #14853 from atom/aw-filewatcher
Filesystem watcher API
2017-08-08 14:04:39 -04:00
Jason Rudolph
3dc2e61990 Add comment explaining motivation for didPaste implemenation 2017-08-07 12:43:13 -04:00
Jason Rudolph
b9ace6a5b6 🎨 2017-08-07 12:31:04 -04:00
Ash Wilson
fc7ecb76d1 :burn: double word 2017-08-07 11:13:03 -04:00
Jason Rudolph
c7bfbc181c 🐛 Fix atom/tabs#461
On Linux, when the user performs a middle-button mouse click, Chromium
fires both a mouse-down event *and* a paste event. This commit teaches
the TextEditorComponent to ignore the paste event.

When the user performs a middle-mouse click on a tab, we get close the
tab and attempt to prevent Chromium's default processing for the event.
[1] This prevents Chromium's default processing for the *mouse down*
event, but then Chromium also fires a *paste* event, and that event
pastes the clipboard's current content into the newly-focused text
editor. 🙀

Since Atom already has its own logic for handling pasting, we
shouldn't (🤞) need to handle browser paste events. By ignoring the
browser paste events on Linux, we fix atom/tabs#461.

[1]
ce1d92e0ab/lib/tab-bar-view.coffee (L416-L418)
2017-08-07 10:19:08 -04:00
Ash Wilson
f270402c6b s/type/action/, s/changed/modified/, s/added/created/ 2017-08-07 10:04:00 -04:00
Ash Wilson
f623b03157 Documentation touchups 2017-08-07 10:04:00 -04:00
Ash Wilson
6c608e88bc Merge remote-tracking branch 'origin/master' into aw-filewatcher 2017-08-05 10:14:32 -04:00
Ash Wilson
ca28f8ac48 Fussing with documentation 2017-08-04 16:30:43 -04:00
Ash Wilson
2310053637 Reword Project.onDidChangeFiles documentation 2017-08-04 14:34:06 -04:00
Ash Wilson
97ffe46247 Consistently use require('temp').track() 2017-08-04 14:08:29 -04:00
Ash Wilson
662e2aaf06 Revisit a bunch of documentation. 2017-08-04 12:55:25 -04:00
Ash Wilson
418fe48bad Emulate a "filesystem watcher" by subscribing to Atom events 2017-08-03 15:32:40 -04:00
Ash Wilson
83f022b618 Add a fileSystemWatcher config key to use as a feature flag 2017-08-03 15:32:40 -04:00
Nathan Sobo
f8f3252962 Merge pull request #15148 from atom/ns-disable-electron-logging-by-default
Don't enable electron logging by default
2017-08-03 13:27:43 -06:00
Nathan Sobo
55748bd2c4 Document enable-electron-logging option 2017-08-02 21:12:02 -06:00
Nathan Sobo
1584189962 Ensure custom decoration elements fill their container 2017-08-02 20:34:18 -06:00
Ash Wilson
931b4e7055 👕 lint lint lint 2017-08-02 12:33:06 -04:00
Ash Wilson
318708bb42 wip 2017-08-02 09:50:57 -04:00
Ash Wilson
320664a359 Remove an export I missed 2017-08-02 09:04:33 -04:00
Ash Wilson
c7a47a9e89 Use module.exports to not break Joanna horribly 2017-08-01 16:40:54 -04:00
Ash Wilson
f005fcdca1 Use directory.getPath() as the object key 2017-08-01 15:55:39 -04:00
Ash Wilson
1285a89a4b Reset @watchersByPath on atom.project.setPaths 2017-08-01 15:55:28 -04:00
Ash Wilson
ee9ad53d91 🔥 unused variables 2017-08-01 15:55:08 -04:00
Ash Wilson
b3f327b0b3 Implement atom.project.onDidChangeFiles 2017-08-01 15:08:07 -04:00
Ash Wilson
ba11070d16 Translate nsfw events to the events we're advertising 2017-08-01 15:08:07 -04:00
Ash Wilson
afdb2f13a6 Doooooocs 2017-08-01 15:08:07 -04:00
Ash Wilson
6fdeedd4ab Introduce a helper to re-join split absolute paths regardless of platform 2017-08-01 15:08:07 -04:00
Ash Wilson
4f0b52d2ab Move the global watcher registry to a lazily initialized manager 2017-08-01 15:08:07 -04:00
Ash Wilson
7aab9925a8 Rename filesystem-manager to path-watcher 2017-08-01 15:08:06 -04:00
Ash Wilson
7aeca7fc8c 🔥 FileSystemManager 2017-08-01 15:08:06 -04:00
Ash Wilson
2d8f812f56 More documentation touchups. 2017-08-01 15:08:06 -04:00
Ash Wilson
2ae70aac08 Document RegistryTree. 2017-08-01 15:08:06 -04:00
Ash Wilson
ba7275dc4f Dump the tree structure to a string for debugging 2017-08-01 15:08:06 -04:00
Ash Wilson
d4edc6b894 Extra character for some reason? 2017-08-01 15:08:06 -04:00
Ash Wilson
0b17b35244 👕 :burn: whitespace 2017-08-01 15:08:06 -04:00
Ash Wilson
2b79295d0b (Untested) work to adapt to the registry API changes 2017-08-01 15:08:06 -04:00
Ash Wilson
0c5674a56c Split subtrees into child watchers on parent watcher removal 2017-08-01 15:08:06 -04:00
Ash Wilson
a5f217fd51 WIP work on rewatching child directories 2017-08-01 15:08:05 -04:00
Ash Wilson
c2810b626c Propagate errors to subscribers with an onDidError callback 2017-08-01 15:08:05 -04:00
Ash Wilson
f75aa1ae03 Use onWillStop() instead of onDidStop()
This will prevent new Watchers from attaching to NativeWatchers that are
in the process of stopping.
2017-08-01 15:08:05 -04:00
Ash Wilson
7ec79a00fc Set running = false before the asynchronous stop operation 2017-08-01 15:08:05 -04:00
Ash Wilson
80a9126fdb Start NativeWatchers lazily and stop them opportunistically 2017-08-01 15:08:05 -04:00
Ash Wilson
9c8ed35b26 Provide native watcher creation function to the NativeWatcherRegistry constructor 2017-08-01 15:08:05 -04:00
Ash Wilson
c8882ca92b Start and stop NativeWatchers automatically using onDidChange subs 2017-08-01 15:08:04 -04:00
Ash Wilson
4194e7f3b5 Remove stopped watcher nodes with the power of RECURSION 2017-08-01 15:08:04 -04:00
Ash Wilson
be681d1324 Use a private utility function to wait for all native watchers to stop 2017-08-01 15:08:04 -04:00
Ash Wilson
12c961c8b9 Maintain a Set of living NativeWatcher instances 2017-08-01 15:08:04 -04:00
Ash Wilson
9f518736e1 Track the current NativeWatcher assigned to a Watcher 2017-08-01 15:08:04 -04:00
Ash Wilson
8d86acf19c Don't report errors after stop 2017-08-01 15:08:03 -04:00