Will Binns-Smith 0916b4c4f0 Manage focus for modal panels
This implements automatic focus management for modal panels using the
excellent focus-trap module.

Upon being shown, modals will have their first tabbable element
automatically focused, and shifting focus with the tab key (or more
correctly the core:focus-next command) will be limited to the contents
of the modal. If the modal does not have any tabbable elements, focus()
will be sent to the panel's root element (if it implements it).

I'm happy to update this to *always* calls focus on the panel's root
element, but then modal implementers would need to handle that and
focus things on their own. I'd argue the tabbable element behavior
is more accessible though :)

This has the effect of not automatically closing most of Atom's own
modals whenever the tab key is pressed, which was an odd nonstandard
behavior, IMO.

This also automates returning focus to the element that had focus before
the modal was shown, something up until now had to be implemented in
every modal in Atom.

This likely breaks a few contracts for existing Atom packages that
create modals, but I've found this doesn't conflict behaviorally with
well-behaved modals like the command palette which implement their own
focus management (which can be removed if this lands).

Released under CC0.
2017-08-22 23:09:44 -07:00
⬆️ apm
2017-08-15 19:25:01 +02:00
2017-08-09 12:16:19 +07:00
2017-08-07 09:46:34 +03:00
2017-08-22 23:09:44 -07:00
2017-08-22 23:09:44 -07:00
2014-06-26 14:25:40 -07:00
⬆️ python
2017-02-22 09:15:43 +01:00
2017-07-16 08:56:50 -04:00
2016-01-11 12:17:08 -05:00
2015-05-22 20:08:29 -04:00
2017-04-20 09:37:21 -07:00
2017-01-02 11:55:28 -05:00
2017-08-22 23:09:44 -07:00
2017-08-02 09:36:22 -07:00
2017-08-04 14:17:14 -07:00

Atom

macOS Build Status Linux Build Status Windows Build Status Dependency Status Join the Atom Community on Slack

Atom is a hackable text editor for the 21st century, built on Electron, and based on everything we love about our favorite editors. We designed it to be deeply customizable, but still approachable using the default configuration.

Visit atom.io to learn more or visit the Atom forum.

Follow @AtomEditor on Twitter for important announcements.

This project adheres to the Contributor Covenant code of conduct. By participating, you are expected to uphold this code. Please report unacceptable behavior to atom@github.com.

Documentation

If you want to read about using Atom or developing packages in Atom, the Atom Flight Manual is free and available online. You can find the source to the manual in atom/flight-manual.atom.io.

The API reference for developing packages is also documented on Atom.io.

Installing

Prerequisites

macOS

Download the latest Atom release.

Atom will automatically update when a new release is available.

Windows

Download the latest Atom installer. AtomSetup.exe is 32-bit, AtomSetup-x64.exe for 64-bit systems.

Atom will automatically update when a new release is available.

You can also download atom-windows.zip (32-bit) or atom-x64-windows.zip (64-bit) from the releases page. The .zip version will not automatically update.

Using Chocolatey? Run cinst Atom to install the latest version of Atom.

Debian Linux (Ubuntu)

Atom is only available for 64-bit Linux systems.

  1. Download atom-amd64.deb from the Atom releases page.
  2. Run sudo dpkg --install atom-amd64.deb on the downloaded package.
  3. Launch Atom using the installed atom command.

The Linux version does not currently automatically update so you will need to repeat these steps to upgrade to future releases.

Red Hat Linux (Fedora 21 and under, CentOS, Red Hat)

Atom is only available for 64-bit Linux systems.

  1. Download atom.x86_64.rpm from the Atom releases page.
  2. Run sudo yum localinstall atom.x86_64.rpm on the downloaded package.
  3. Launch Atom using the installed atom command.

The Linux version does not currently automatically update so you will need to repeat these steps to upgrade to future releases.

Fedora 22+

Atom is only available for 64-bit Linux systems.

  1. Download atom.x86_64.rpm from the Atom releases page.
  2. Run sudo dnf install ./atom.x86_64.rpm on the downloaded package.
  3. Launch Atom using the installed atom command.

The Linux version does not currently automatically update so you will need to repeat these steps to upgrade to future releases.

Archive extraction

An archive is available for people who don't want to install atom as root.

This version enables you to install multiple Atom versions in parallel. It has been built on Ubuntu 64-bit, but should be compatible with other Linux distributions.

  1. Install dependencies (on Ubuntu): sudo apt install git gconf2 gconf-service libgtk2.0-0 libudev1 libgcrypt20 libnotify4 libxtst6 libnss3 python gvfs-bin xdg-utils libcap2
  2. Download atom-amd64.tar.gz from the Atom releases page.
  3. Run tar xf atom-amd64.tar.gz in the directory where you want to extract the Atom folder.
  4. Launch Atom using the installed atom command from the newly extracted directory.

The Linux version does not currently automatically update so you will need to repeat these steps to upgrade to future releases.

Building

License

MIT

When using the Atom or other GitHub logos, be sure to follow the GitHub logo guidelines.

Description
No description provided
Readme 447 MiB
Languages
JavaScript 88.3%
Less 8.7%
CoffeeScript 2.8%
Shell 0.1%