:atom: The hackable text editor

Overview

Atom

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.

Atom

Atom Screenshot

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 [email protected].

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. For 64-bit systems, download AtomSetup-x64.exe.

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.

Linux

Atom is only available for 64-bit Linux systems.

Configure your distribution's package manager to install and update Atom by following the Linux installation instructions in the Flight Manual. You will also find instructions on how to install Atom's official Linux packages without using a package repository, though you will not get automatic updates after installing Atom this way.

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 python3 gvfs-bin xdg-utils libcap2
    1. (If the python3 package isn't available, or is too old (Python 3 should be >= 3.5), either python2 or python (2.6 or 2.7) will work in its place.)
  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

Discussion

License

MIT

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

Issues
  • Add Linux software repositories for app update support

    Add Linux software repositories for app update support

    launchpad.net would you please release atom for ubuntu , as a launchpad ppa repository?

    enhancement help-wanted linux 
    opened by cnmade 259
  • Editor window startup is slow

    Editor window startup is slow

    Hi, i have used Textmate for a loong long time. But also as a big fan of new things, i decided to try Atom for curiosity purposes.

    It turns out that i found Atom a great platform for day-by-day development, and im using it Atom now. But theres one thing annoying me:

    I usually open Atom using the Shell command "atom [filename]", and compared to "mate [filename]" (the same command Textmate use for open files using Shell), Atom is incredible slow (i feel i have to wait twice of the time, like 1s~2s). I know this performance also is related to machine specs, processors, memory and etc. But its the exactly same task executed for different tools.

    I can record a video showing that behavior if you like. Also, if this is a un-prioritize known issue, i can submit a pull request if theres noone working on it. I just need to know where to start looking.

    ][`s

    performance stale 
    opened by renatodex 249
  • Atom packages that require an upgrade to 1.0 API

    Atom packages that require an upgrade to 1.0 API

    We've been collecting data on which packages have deprecations since 0.201. This is a list of the packages using deprecated APIs, their owners and each package's impact. This data reflects a subset of the user population (those who have upgraded to 201). Affected numbers are based on unique users catching the deprecations.

    If you are a maintainer on this list please note that we will be removing deprecated APIs on June 1st. See the blog post for more info. Note that upgrading to the new APIs will decrease breakage, increase speed, and generally be better for everyone.

    Upgrading your package

    We have a few guides for upgrading your package or theme:

    Need help upgrading?

    The community and the core team can offer some help:

    Package abandoned?

    If your package is abandoned or supplanted by something in core, please comment with the package name and we can take steps to remove it from the package listing and people's install.

    However, _do not delete the package repo from GitHub before unpublishing_, as this will make it so that you can't unpublish from the package registry.

    Notes

    • We are currently working on ways to minimize pain from deprecations. We will try hard to keep things going smoothly through the transition
    • It appears there are many many people still using outdated packages. We have taken steps in v0.200 to be more aggressive about upgrading packages.
    • If you want to tinker with the data, it is all here: https://github.com/benogle/deprecation-data

    Generated: Wed Jun 03 2015 18:15:00 GMT-0700 (PDT)

    | n | Package | Owner | Total Affected | Affected On Latest | | --- | --- | --- | --- | --- | | 1 | file-types | @execjosh | 20670 | 0.3.0 : 20670 | | 2 | auto-indent | @griiin | 19527 | 0.1.0 : 19527 | | 3 | fancy-new-file | @rev087 | 14661 | 0.7.0 : 14661 | | 4 | tab-history | @guillaume86 | 13499 | 0.4.0 : 13499 | | 5 | atom-rails | @tomkadwill | 12921 | 0.4.0 : 12891 | | 6 | auto-update-packages | @yujinakayama | 11173 | 0.2.2 : 11173 | | 7 | filetype-color | @sommerper | 10927 | 0.1.4 : 10822 | | 8 | web-view | @gabceb | 9876 | 0.3.0 : 9756 | | 9 | ionic-atom | @RokkinCat | 8678 | 0.3.1 : 8678 | | 10 | jsdoc | @craig-o | 8676 | 0.9.0 : 8646 | | 11 | comment | @havber | 8297 | 0.2.7 : 8297 | | 12 | rspec | @fcoury | 8995 | 0.3.0 : 8083 | | 13 | highlight-css-color | @wonnage | 7913 | 1.3.0 : 7913 | | 14 | symbol-gen | @weskinner | 7686 | 0.3.0 : 7458 | | 15 | html2jade | @mirek | 6499 | 0.7.0 : 6469 | | 16 | recent-projects | @Exter-N | 6359 | 0.3.0 : 6359 | | 17 | local-history | @Nicolab | 6928 | 3.1.0 : 6072 | | 18 | language-javascript-semantic | @p-e-w | 5906 | 0.1.0 : 5906 | | 19 | sassbeautify | @badsyntax | 5071 | 0.2.0 : 5071 | | 20 | html-helper | @j4ys0n | 5054 | 0.2.3 : 5054 | | 21 | minifier | @wylst | 4899 | 0.2.0 : 4809 | | 22 | virtualenv | @jhutchins | 4746 | 0.6.2 : 4746 | | 23 | html-img | @minodisk | 4715 | 0.4.0 : 4505 | | 24 | rails-navigation | @strikingcode | 4503 | 0.1.1 : 4458 | | 25 | eslint | @iancmyers | 4444 | 0.15.0 : 4444 | | 26 | yosemite-unity-ui | @k9ordon | 4035 | 0.3.13 : 4035 | | 27 | term | @tjmehta | 3840 | 0.2.2 : 3840 | | 28 | localization | @pandarison | 3516 | 1.16.1 : 3516 | | 29 | atom-spotify | @jakemarsh | 3258 | 1.2.0 : 3258 | | 30 | closure-linter | @miaopeng | 3149 | 0.2.5 : 3149 | | 31 | omni-ruler | @Problematic | 2939 | 0.3.1 : 2939 | | 32 | max-tabs | @klorenz | 2877 | 0.3.0 : 2877 | | 33 | csscomb | @bruce | 2738 | 0.1.2 : 2738 | | 34 | cucumber-runner | @gaslight | 2733 | 0.1.1 : 2733 | | 35 | tree-view | @atom | 2722 | 0.172.0 : 2557 | | 36 | execute-as-ruby | @torsten | 2496 | 0.1.1 : 2496 | | 37 | livereload | @taggon | 2422 | 0.2.0 : 2422 | | 38 | gradle-ci | @florianb | 2411 | 0.2.3 : 2411 | | 39 | cucumber-step | @gaslight | 2406 | 0.1.2 : 2406 | | 40 | python-coverage | @sueastside | 2361 | 0.2.0 : 2361 | | 41 | browser-refresh | @raviraa | 3166 | 0.8.3 : 2312 | | 42 | error-status | @postcasio | 2300 | 0.3.3 : 2300 | | 43 | layout-manager | @santip | 2191 | 0.2.3 : 2191 | | 44 | select-scope | @wmadden | 2160 | 0.2.0 : 2160 | | 45 | r-exec | @hafen | 2036 | 0.1.0 : 2036 | | 46 | function-name-in-status-bar | @francodacosta | 1858 | 0.2.6 : 1858 | | 47 | atom-beautifier | @anaptfox | 1827 | 0.5.0 : 1827 | | 48 | true-color | @captainwz | 1812 | 0.4.1 : 1812 | | 49 | maximize-panes | @santip | 1690 | 0.1.0 : 1690 | | 50 | gocode | @typester | 1596 | 0.2.1 : 1596 | | 51 | ruby-strftime-reference | @cannikin | 1582 | 0.3.0 : 1522 | | 52 | github-issues | @baconscript | 1737 | 0.5.0 : 1497 | | 53 | rest-client | @ddavison | 1461 | 0.3.3 : 1461 | | 54 | hipster-ipsum | @kristenmills | 1324 | 0.1.0 : 1324 | | 55 | atom-browser-webview | @gstack | 1308 | 0.6.0 : 1308 | | 56 | expand-selection | @mrolla | 1246 | 0.2.1 : 1246 | | 57 | autocomplete-plus-jedi | @fallenhitokiri | 1188 | 0.0.9 : 1188 | | 58 | pepper-autocomplete | @TonkWorks | 1109 | 0.6.0 : 1109 | | 59 | big-cursor | @chick-chains | 1096 | 0.1.0 : 1096 | | 60 | status-tab-spacing | @roe | 1095 | 0.3.1 : 1095 | | 61 | erb-snippets | @MartinPeverelli | 1263 | 0.5.0 : 1081 | | 62 | quick-move-file | @benastan | 1080 | 0.7.0 : 1080 | | 63 | markdown-helpers | @catacgc | 1125 | 0.2.2 : 1035 | | 64 | sloc | @sgade | 1020 | 0.1.3 : 1020 | | 65 | runcoderun | @jgarth | 1002 | 0.5.1 : 1002 | | 66 | line-count | @mark-hahn | 1293 | 0.3.3 : 989 | | 67 | enhanced-tabs | @js-padavan | 974 | 1.1.0 : 974 | | 68 | timekeeper | @skulled | 959 | 0.4.0 : 959 | | 69 | indentation-jumper | @7even | 958 | 0.1.1 : 958 | | 70 | rsense | @rsense | 914 | 0.6.0 : 914 | | 71 | codeship-status | @codeship | 912 | 0.1.1 : 912 | | 72 | devdocs | @masnun | 821 | 0.2.0 : 821 | | 73 | mocha | @jerp | 792 | 0.0.5 : 792 | | 74 | go-to-view | @mgbatchelor | 791 | 0.1.2 : 791 | | 75 | swift-playground | @tachiba | 761 | 0.2.0 : 761 | | 76 | paredit | @MarcoPolo | 732 | 1.0.0 : 732 | | 77 | markdown-stream | @kenokabe | 732 | 0.6.0 : 732 | | 78 | firepad | @firebase | 714 | 0.3.1 : 714 | | 79 | space-block-jumper | @aronj | 685 | 0.4.3 : 685 | | 80 | word-count | @Problematic | 670 | 0.1.0 : 670 | | 81 | voicecode | @VoiceCode | 715 | 0.9.0 : 670 | | 82 | mechanical-keyboard | @remanc | 670 | 0.1.0 : 670 | | 83 | emacs-mode | @fuqcool | 657 | 0.0.29 : 657 | | 84 | slash-closer | @postcasio | 639 | 0.7.1 : 639 | | 85 | atom-raml-preview | @cybertk | 639 | 0.0.1 : 639 | | 86 | asteroids | @mojombo | 638 | 0.2.0 : 638 | | 87 | atom-2048 | @void-main | 623 | 1.2.3 : 623 | | 88 | spark-dfu-util | @suda | 608 | 0.4.0 : 608 | | 89 | easy-motion | @adrian-budau | 638 | 1.1.4 : 608 | | 90 | eval | @ardcore | 608 | 0.2.0 : 608 | | 91 | atom-ungit | @codingtwinky | 606 | 0.4.3 : 606 | | 92 | mark-ring | @jhonaker | 578 | 3.0.0 : 578 | | 93 | custom-title | @postcasio | 578 | 0.7.1 : 578 | | 94 | increment-number | @dsuket | 548 | 0.1.0 : 548 | | 95 | supercopair | @deusanyjunior | 546 | 0.9.34 : 546 | | 96 | pane-layout-switcher | @leny | 608 | 0.0.3 : 532 | | 97 | path | @weskinner | 438 | 0.4.1 : 438 | | 98 | atom-html5-boilerplate | @Snake231088 | 410 | 0.2.0 : 410 | | 99 | atom-htmlizer | @webBoxio | 410 | 0.1.1 : 410 | | 100 | git-review | @wenlock | 409 | 0.2.1 : 409 | | 101 | local-server | @lohek | 396 | 0.1.0 : 396 | | 102 | open-in-gitx | @nfo | 396 | 0.1.1 : 396 | | 103 | atom-python-debugger | @fxdgear | 2528 | 0.3.0 : 395 | | 104 | atom-grunt-configs | @creynders | 380 | 0.1.0 : 380 | | 105 | icon-font-picker | @travs | 441 | 0.0.2 : 365 | | 106 | ruby-hash-rocket | @erbmicha | 336 | 1.1.2 : 336 | | 107 | atom-faker | @manuclementz | 335 | 0.2.0 : 335 | | 108 | atomic-rest | @lzrski | 333 | 0.2.1 : 333 | | 109 | auto-replace-in-selection | @Kraoz | 320 | 2.1.0 : 320 | | 110 | composer | @alairock | 305 | 0.3.1 : 305 | | 111 | explicit-reload | @131 | 304 | 0.2.0 : 304 | | 112 | keycodes | @nickstark | 304 | 0.1.2 : 304 | | 113 | package-list-downloader | @Trudko | 303 | 0.2.1 : 303 | | 114 | asciidoc-preview | @asciidoctor | 442 | 0.5.0 : 289 | | 115 | highlight-cov | @benjamine | 288 | 0.1.0 : 288 | | 116 | atom-semicolons | @balupton | 274 | 0.1.5 : 274 | | 117 | permute | @kristenmills | 259 | 0.1.0 : 259 | | 118 | run-file | @alexand7u | 258 | 0.9.0 : 258 | | 119 | coffee-trace | @mark-hahn | 243 | 0.2.2 : 243 | | 120 | kinetic | @ddavison | 213 | 0.2.5 : 213 | | 121 | webview-pane | @mizchi | 213 | 0.0.1 : 213 | | 122 | floobits | @Floobits | 197 | 0.4.2 : 197 | | 123 | playlist | @dreid93 | 195 | 0.1.7 : 195 | | 124 | ruler | @iambald | 184 | 0.2.3 : 184 | | 125 | inc-dec-value | @leny | 244 | 0.0.7 : 183 | | 126 | clipboard-history | @unDemian | 501 | 0.6.5 : 182 | | 127 | assign-align | @leejarvis | 167 | 0.1.0 : 167 | | 128 | ti-alloy-related | @soulglo | 304 | 0.8.0 : 138 | | 129 | gitter | @Glavin001 | 135 | 0.6.2 : 135 | | 130 | save-commands | @JsonHunt | 107 | 0.6.1 : 107 | | 131 | turnip-step | @hanachin | 105 | 1.0.0 : 105 | | 132 | support-gbk | @ibigbug | 105 | 1.1.0 : 105 | | 133 | related-files | @raviraa | 92 | 0.3.0 : 92 | | 134 | coverage | @philipgiuliani | 181 | 0.6.0 : 91 | | 135 | npm-autocomplete | @capaj | 91 | 0.1.2 : 91 | | 136 | tab-switcher | @oggy | 90 | 0.2.0 : 90 | | 137 | laravel-facades | @RyanNielson | 76 | 1.0.0 : 76 | | 138 | clone-cursor | @thislooksfun | 76 | 1.0.0 : 76 | | 139 | yuno-commit | @suda | 75 | 0.0.2 : 75 | | 140 | change-case | @robhurring | 76 | 0.5.1 : 61 | | 141 | marked | @cliffrowley | 394 | 0.1.8 : 60 | | 142 | weather-package | @gladimdim | 60 | 1.5.4 : 60 | | 143 | php-server | @leijou | 60 | 0.4.0 : 60 | | 144 | toggle-tabs | @chadmoore | 60 | 0.1.8 : 60 | | 145 | atom-charcode | @ka-ka-xyz | 46 | 0.4.0 : 46 | | 146 | lorem-ipsum | @nickclaw | 2510 | 0.5.0 : 45 | | 147 | vnc | @sidorares | 45 | 0.1.3 : 45 | | 148 | php-documentation-online | @pi-coder | 45 | 0.2.1 : 45 | | 149 | party-hard | @noraesae | 45 | 0.3.3 : 45 | | 150 | convert-to-utf8 | @dongri | 75 | 0.1.0 : 45 | | 151 | pair-programming | @PierreVannier | 45 | 0.7.0 : 45 | | 152 | angularjs-helper | @orlaqp | 228 | 0.9.2 : 45 | | 153 | atom-html-preview | @webBoxio | 2631 | 0.1.6 : 30 | | 154 | atom-prettify | @adambutler | 365 | 0.1.1 : 30 | | 155 | view-tail-large-files | @mark-hahn | 1608 | 0.1.17 : 30 | | 156 | preview-plus | @skandasoft | 180 | 1.1.42 : 30 | | 157 | open-in-sourcetree | @cliffrowley | 274 | 0.1.3 : 30 | | 158 | synced-sidebar | @peterdotjs | 30 | 0.2.3 : 30 | | 159 | markdown-writer | @zhuochun | 137 | 1.3.2 : 15 | | 160 | open-git-modified-files | @hmatsuda | 15 | 0.1.0 : 15 | | 161 | open-in-github-app | @cliffrowley | 167 | 0.2.3 : 15 | | 162 | project-ring | @vellerefond | 300 | 0.20.5 : 15 | | 163 | import | @ezhilvendhan | 227 | 1.3.0 : 15 | | 164 | atom-processing | @verytired | 15 | 0.1.0 : 15 | | 165 | gitignore-snippets | @jefkoslowski | 288 | 0.2.3 : 15 | | 166 | gulp-helper | @kenwheeler | 364 | 4.1.0 : 15 | | 167 | atom-cli-diff | @mafiuss | 75 | 0.11.0 : 15 | | 168 | apex-ui-personalize | @gstack | 15 | 0.1.0 : 15 | | 169 | mdurl | @hemanth | 15 | 0.2.0 : 15 | | 170 | php-getters-setters | @francodacosta | 5098 | 0.5.0 : 15 | | 171 | elixir-cmd | @jerp | 165 | 0.2.6 : 15 | | 172 | get-routes | @Levia | 75 | 0.2.0 : 15 |

    opened by benogle 202
  • Atom does not quit on OS X

    Atom does not quit on OS X

    Description

    Atom does not quit on OS X (both shortcut and menu)

    Steps to Reproduce

    1. Open Atom
    2. Try to quit Atom by pressing CMD-Q or by selecting the "Quit Atom" in the menu.

    Expected behavior: Atom closes

    Actual behavior: doesn't react to the command

    Versions

    Atom: 1.28.1 OS X: High Sierra 10.13.4

    needs-reproduction v ⬇️ i ⬆️ d ⬆️ 
    opened by timreichen 173
  • Crashing on macOS 10.15

    Crashing on macOS 10.15

    Prerequisites

    Description

    Atom has been crashing on me ever since upgrading to macOS 10.15 (Catalina). Has never really crashed on me (that I can remember) before Catalina. Now it does it a few times daily. Randomly. Sometimes when deleting a folder or file, duplicating a file, renaming a file, moving a file, and toggling a directory in the file tree. I tried to look in the crash log, but there was none. This the only message I could find related to Atom:

    MacBook-Air Atom[11027]: assertion failed: 19A602: libxpc.dylib + 86780 [2E9076CD-6C0E-38B6-8403-B2DDCE125FBF]: 0x89

    Steps to Reproduce

    Interacting with the file tree (toggle folders, moving a file, renaming, deleting, duplicating, trying to search in a directory, saving, ect..)

    Expected behavior:

    to interact with file tree without crashing the whole application, generate crash log in console

    Actual behavior:

    Atom will close at random times during the day only when interacting with file tree. A couple times it had closed when saving a file.

    Reproduces how often:

    It happens randomly, daily, I guess the more you use file tree you can expect more times.

    Versions

    Atom : 1.40.1 Electron: 3.1.10 Chrome : 66.0.3359.181 Node : 10.2.0


    Update:

    Here's a temporary patch that resolves the crashing, replaces the Electron context-menu with a HTML version: Atom Menu Patch for Catalina You can also search and install the package inside Atom.

    mac electron v ⬇️ i ⬆️ d ⬆️ 
    opened by codenift 151
  • Tab switching (ctrl-tab) should be in MRU order

    Tab switching (ctrl-tab) should be in MRU order

    Current switching order is as tab display order, which is useless when opening many tabs. Other editors uses MRU order to improve it (Intellij IDEA, Sublimetext, VS.net, Windows alt-tab etc..)

    It's better to popup an open file list (in MRU order) when do switching (like IntelliJ IDEA / Windows alt-tab does). tabswitch_2366

    enhancement atom beginner 
    opened by weijarz 149
  • Open file in current window

    Open file in current window

    Seems reasonable

    cmd-o AND file -> open is always opening a new window, there is a separate command for that. It's quite the nuisance. <3


    This is perhaps a BIG one that undermines the foundation of Atom...but I find it quite irritating after coming from Sublime: I would like to be able to drag random files into a project/Atom instance so I can reference code side–by–side. Currently if I drag a random file from the finder into an Atom instance it automatically opens a new instance with the folder containing that file as the project root. Since I like to code in fullscreen, this means switching between a number of fullscreen Atom instances to look at or copy snippets of code. This isn't a particularly desirable workflow.

    (from https://github.com/atom/atom/issues/1721)

    ...

    Suppose that I open atom in my home directory. The working directory shown on the left is my home directory. Now if I want to open a file that is not in the working directory then Atom opens a new window with that file and its directory. Same thing happens if I want to open a third file that is outside of those two working directories.

    ...

    I'm coming from Sublime Text 2 and the default behavior there is every file in a new window. There is a configuration file that can be tweaked to make all files open in the same window.

    ...

    I, too, would love to have files open in a new tab. It is absolutely crucial to my workflow. In the meantime I will continue using Sublime Text for this reason alone.

    ...

    This is probably my single biggest annoyance and the reason why I can't use Atom full time.

    (from https://github.com/atom/atom/issues/2005)

    Also related issues:

    • https://github.com/atom/atom/issues/770 - Multiple folders in projects
    • https://github.com/atom/tree-view/issues/63 - Add option to configure multiple root folders in tree-view
    enhancement 
    opened by kevinsawicki 148
  • Reopen windows when relaunching Atom

    Reopen windows when relaunching Atom

    A feature I love about ST2 and iA Writer, which I'm missing in Atom, is when you quit the app with open windows (including unsaved documents), they all appear again when you reopen.

    This has saved me countless times in my workflow to handle having to do a system restart for software update, etc and not have to take time to save all my unsaved docs, etc.

    It's also nice because I generally have five or six open projects that I just keep minimized in the editor for ease of access. It would be great to have such a feature in Atom.

    enhancement atom 
    opened by jglovier 146
  • Large file support

    Large file support

    So, I use my text editor for all kinds of things (writing code, reading readmes, editing dotfiles, etc). One of the things I do most often during any given day is open up large log files to troubleshoot Enterprise problems. These files can sometimes get as large as 500-800MB.

    I just tried viewing a 350MB log file and Atom locked up immediately -- the file selector didn't change and the entire window went completely white 4 seconds after I tried viewing the file. I could still close the top level window, but we should still have better handling for this kind of thing.

    Sublime Text 2 took about 55 seconds to open the file, but gave a nice progress indicator while it was loading:

    Screen Shot 2013-02-24 at 4 50 56 PM

    Once it loaded it was as responsive as any other file I load (scrolled fast, normal text highlight performance, etc). It would be nice if we set this as a baseline for expected behavior (progress bar + responsive after loading).

    bug performance atom 
    opened by watsonian 140
  • Atom gives a quick white blink/flickering when you do something

    Atom gives a quick white blink/flickering when you do something

    Prerequisites

    • [x ] Put an X between the brackets on this line if you have done all of the following:
      • Reproduced the problem in Safe Mode: http://flight-manual.atom.io/hacking-atom/sections/debugging/#using-safe-mode
      • Followed all applicable steps in the debugging guide: http://flight-manual.atom.io/hacking-atom/sections/debugging/
      • Checked the FAQs on the message board for common solutions: https://discuss.atom.io/c/faq
      • Checked that your issue isn't already filed: https://github.com/issues?utf8=✓&q=is%3Aissue+user%3Aatom
      • Checked that there is not already an Atom package that provides the described functionality: https://atom.io/packages

    Description

    When you type and open the snippets, or when you save, or when you scroll quickly the page, Atom always gives a quick white blink.

    Steps to Reproduce

    1. Type or type a snippet or save or scroll quickly the page, while see with attention
    2. You'll see the quick white blink

    Expected behavior: The quick white blink always repeats or appears when you do these things

    Actual behavior: After the quick white blink, nothings happened, it was all normal, but the quick white blink will appear or repeat.

    Reproduces how often: Millseconds

    Versions

    Atom : 1.19.0 Electron : 1.6.9 Chrome : 56.0.2924.87 Node : 7.4.0

    apm 1.18.2 npm 3.10.10 node 6.9.5 x64 python 2.7.13 git 2.13.3

    macOS Sierra X 10.12.6 Mac mini Mid 2011 Core i5 8GB RAM

    electron 
    opened by gusbemacbe 139
  • Uncaught Error: dlopen(~/Downloads/atom-mac/Atom.app/Contents/Resources/app.asar.unpacked/node_mo...

    Uncaught Error: dlopen(~/Downloads/atom-mac/Atom.app/Contents/Resources/app.asar.unpacked/node_mo...

    [Enter steps to reproduce:]

    1. ...
    2. ...

    Atom: 1.58.0 x64 Electron: 9.4.4 OS: macOS 11.5.2 Thrown From: Atom Core

    Stack Trace

    Uncaught Error: dlopen(/Users/soomin/Downloads/atom-mac/Atom.app/Contents/Resources/app.asar.unpacked/node_modules/keyboard-layout/build/Release/keyboard-layout-manager.node, 1): image not found

    At electron/js2c/asar.js:140
    
    Error: dlopen(/Users/soomin/Downloads/atom-mac/Atom.app/Contents/Resources/app.asar.unpacked/node_modules/keyboard-layout/build/Release/keyboard-layout-manager.node, 1): image not found
        at process.func [as dlopen] (electron/js2c/asar.js:140:31)
        at Object.Module._extensions..node (internal/modules/cjs/loader.js:1034:18)
        at Object.func [as .node] (electron/js2c/asar.js:149:18)
        at Module.load (internal/modules/cjs/loader.js:815:32)
        at Module._load (internal/modules/cjs/loader.js:727:14)
        at Function.Module._load (electron/js2c/asar.js:769:28)
        at Module.require (/app.asar/static/index.js:72:46)
        at require (internal/modules/cjs/helpers.js:74:18)
        at customRequire (/Users/soomin/Downloads/atom-mac/Atom.app/Contents/Resources/app/static/<embedded>:1:756278)
        at get_KeyboardLayoutManager (/Users/soomin/Downloads/atom-mac/Atom.app/Contents/Resources/app/static/<embedded>:14:2894476)
        at get_manager (/Users/soomin/Downloads/atom-mac/Atom.app/Contents/Resources/app/static/<embedded>:14:2894578)
        at Object.getCurrentKeyboardLayout (/Users/soomin/Downloads/atom-mac/Atom.app/Contents/Resources/app/static/<embedded>:14:2894704)
        at e.keystrokeForKeyboardEvent (/Users/soomin/Downloads/atom-mac/Atom.app/Contents/Resources/app/static/<embedded>:14:1119649)
        at KeymapManager.keystrokeForKeyboardEvent (/Users/soomin/Downloads/atom-mac/Atom.app/Contents/Resources/app/static/<embedded>:11:1224825)
        at KeymapManager.handleKeyboardEvent (/Users/soomin/Downloads/atom-mac/Atom.app/Contents/Resources/app/static/<embedded>:11:1222810)
        at WindowEventHandler.handleDocumentKeyEvent (/Users/soomin/Downloads/atom-mac/Atom.app/Contents/Resources/app/static/<embedded>:11:286651)
    

    Commands

    Non-Core Packages

    teletype 0.13.4 
    termination 0.7.6 
    
    opened by Soomin97 1
  • https://github.com/atom/atom/issues/22989#issue-998875707

    https://github.com/atom/atom/issues/22989#issue-998875707

    Summary

    Motivation

    Describe alternatives you've considered

    Additional context

    opened by shenanigans77-jpg 1
  • package-lock.json

    package-lock.json

    Prerequisites

    Description

    Steps to Reproduce

    Expected behavior:

    Actual behavior:

    Reproduces how often:

    Versions

    Additional Information

    opened by shenanigans77-jpg 0
  • 148

    148

    opened by Text-only 1
  • Update Node compatibility in script/lib/verify-machine-requirements.js

    Update Node compatibility in script/lib/verify-machine-requirements.js

    Requirements for Contributing a Bug Fix (from template, click to expand)

    Identify the Bug

    Fixes #22969

    Description of the Change

    • Update the required Node to build Atom in the system requirements checker script to 10.12+
      • (That's been the practical minimum requirement to build Atom as of https://github.com/atom/atom/pull/20879.)
    • Use syntax in script/lib/verify-machine-requirements.js that doesn't error out on Node older than 10.0.0
      • We want the script to get far enough to print a nice error telling them their Node is too old, not throw an obscure syntax error about try/catch block syntax!
      • (We don't "support" Node older than 10 anymore, but the system requirements checker script really should, if only so we print more useful errors about their version of Node being too old.)

    Alternate Designs

    I considered not updating the required Node, but the build script errors out with older Node, so it's not a useful check if we don't update it to 10.12+.

    I suppose we could hard require Node 10.12+, but "deprecate" anything less than currently, officially upstream-supported Node versions. (12.x is the oldest Node still supported by the Node maintainers as of my writing this. See: https://nodejs.org/en/about/releases/).

    Possible Drawbacks

    None.

    Verification Process

    I ran script/build --ci with Node 9, Node 10.11, and Node 10.12.

    • This PR fixes the syntax error on Node 9 and older, allowing for more useful output and/or error messages regarding whether the user's system meets Atom's build script requirements or not.
    • Before this PR, Node versions 4 or newer were allowed... with only a "deprecation warning" for Node 4 or 5... I confirmed that Node 10.11 or lower will not actually work to build Atom though, due to [email protected] using the recursive option with fs.mkdir, which is only supported in Node 10.12 or newer, and can silently fail on older Node, leading to "file exists" errors in those older versions of Node.
      • Confirmed that Node 10.12 is perfectly capable of running the build scripts and producing a working build of Atom.
      • Now when attempting to bootstrap Atom on Node older than 10.12, the system requirements checker script throws a useful error message about Node being too old.

    Release Notes

    N/A

    opened by DeeDeeG 1
  • atom installed cant open

    atom installed cant open

    Prerequisites

    Description

    Steps to Reproduce

    Expected behavior:

    Actual behavior:

    Reproduces how often:

    Versions

    Additional Information

    opened by abdulnijas 1
  • MacOS title bar should allow file tools/manipulation

    MacOS title bar should allow file tools/manipulation

    Summary

    On well-behaved macOS apps with a file open for editing, you can right-click the title bar to show the file's path and open Finder windows to the file. You can also drag the icon in the title bar out of the window to work with a shortcut to it.

    This is Sketch:

    https://user-images.githubusercontent.com/769083/133192561-16db9977-1202-45f8-b032-a19f3a3d5fe1.mp4

    Motivation

    I am almost certain that Atom used to have this behavior, but for some reason it no longer does on Atom 1.58.0. MacOS users are used to this universal file-editor behavior from other apps, Atom is an outlier in omitting it.

    opened by csuhta 0
  • Call isMinimized in isValidDimensions

    Call isMinimized in isValidDimensions

    bug

    Since a second monitor could have a negative displacement compared to the first monitor, the original logic leads to false negatives.

    See #15109

    Keyword for detection: Fixes https://github.com/atom/atom/issues/15019

    explain change

    This change was suggested by https://github.com/atom/atom/issues/15019#issuecomment-315420667 (and corrected by https://github.com/atom/atom/issues/15019#issuecomment-315430681)

    Alternate Designs

    The if statement looks a bit weird. Maybe the method should be renamed or even inlined.

    Although this.windowDimensions has a maximized property, that can't be used to check if something is not minimized. (It's possible for a window to be both not maximized and not minimized)

    Possible Drawbacks

    none?

    Verification Process

    None. I haven't made tests for this yet, so this is a draft.

    Release notes

    Fix false negatives when checking if window dimensions can be stored.

    opened by icecream17 0
  • Bootstrap syntax error

    Bootstrap syntax error

    Hi,

    Before we start, I'm fully aware that atom is only supported on Linux 64-bit however, I know that JavaScript runs on bytecode, which is universal, so I'm trying to install it for an i386 machine by installing it from source. If I'm wrong, please explain.

    But when I run ./script/boostrap I get an error about an unexpected error

    Ill add a screenshot in a bit, but the gist is that there's an unexpected token

    verify-machine-requirements.js:97

    } catch {}
            ^
    
    Unexpected token {
    

    Edit

    Here's a dump of the error

    /home/aaron/Workspace/atom-1.58.0/script/lib/verify-machine-requirements.js:97
          } catch {}
                  ^
    
    SyntaxError: Unexpected token {
        at createScript (vm.js:80:10)
        at Object.runInThisContext (vm.js:139:10)
        at Module._compile (module.js:616:28)
        at Object.Module._extensions..js (module.js:663:10)
        at Module.load (module.js:565:32)
        at tryModuleLoad (module.js:505:12)
        at Function.Module._load (module.js:497:3)
        at Module.require (module.js:596:17)
        at require (internal/module.js:11:18)
        at Object.<anonymous> (/home/aaron/Workspace/atom-1.58.0/script/bootstrap:14:35)
    
    opened by iggy12345 4
  • Uncaught Error: dlopen(/private/var/folders/lh/zr_hs6q13w5_6wkl337_r5n80000gn/T/wzQL.6Csvwz/Atom....

    Uncaught Error: dlopen(/private/var/folders/lh/zr_hs6q13w5_6wkl337_r5n80000gn/T/wzQL.6Csvwz/Atom....

    [Enter steps to reproduce:]

    1. ...
    2. ...

    Atom: 1.58.0 x64 Electron: 9.4.4 OS: Unknown macOS version Thrown From: Atom Core

    Stack Trace

    Uncaught Error: dlopen(/private/var/folders/lh/zr_hs6q13w5_6wkl337_r5n80000gn/T/wzQL.6Csvwz/Atom.app/Contents/Resources/app.asar.unpacked/node_modules/keyboard-layout/build/Release/keyboard-layout-manager.node, 1): image not found

    At electron/js2c/asar.js:140
    
    Error: dlopen(/private/var/folders/lh/zr_hs6q13w5_6wkl337_r5n80000gn/T/wzQL.6Csvwz/Atom.app/Contents/Resources/app.asar.unpacked/node_modules/keyboard-layout/build/Release/keyboard-layout-manager.node, 1): image not found
        at process.func [as dlopen] (electron/js2c/asar.js:140:31)
        at Object.Module._extensions..node (internal/modules/cjs/loader.js:1034:18)
        at Object.func [as .node] (electron/js2c/asar.js:149:18)
        at Module.load (internal/modules/cjs/loader.js:815:32)
        at Module._load (internal/modules/cjs/loader.js:727:14)
        at Function.Module._load (electron/js2c/asar.js:769:28)
        at Module.require (/app.asar/static/index.js:72:46)
        at require (internal/modules/cjs/helpers.js:74:18)
        at customRequire (/private/var/folders/lh/zr_hs6q13w5_6wkl337_r5n80000gn/T/wzQL.6Csvwz/Atom.app/Contents/Resources/app/static/<embedded>:1:756278)
        at get_KeyboardLayoutManager (/private/var/folders/lh/zr_hs6q13w5_6wkl337_r5n80000gn/T/wzQL.6Csvwz/Atom.app/Contents/Resources/app/static/<embedded>:14:2894476)
        at get_manager (/private/var/folders/lh/zr_hs6q13w5_6wkl337_r5n80000gn/T/wzQL.6Csvwz/Atom.app/Contents/Resources/app/static/<embedded>:14:2894578)
        at Object.getCurrentKeyboardLayout (/private/var/folders/lh/zr_hs6q13w5_6wkl337_r5n80000gn/T/wzQL.6Csvwz/Atom.app/Contents/Resources/app/static/<embedded>:14:2894704)
        at e.keystrokeForKeyboardEvent (/private/var/folders/lh/zr_hs6q13w5_6wkl337_r5n80000gn/T/wzQL.6Csvwz/Atom.app/Contents/Resources/app/static/<embedded>:14:1119649)
        at KeymapManager.keystrokeForKeyboardEvent (/private/var/folders/lh/zr_hs6q13w5_6wkl337_r5n80000gn/T/wzQL.6Csvwz/Atom.app/Contents/Resources/app/static/<embedded>:11:1224825)
        at KeymapManager.handleKeyboardEvent (/private/var/folders/lh/zr_hs6q13w5_6wkl337_r5n80000gn/T/wzQL.6Csvwz/Atom.app/Contents/Resources/app/static/<embedded>:11:1222810)
        at WindowEventHandler.handleDocumentKeyEvent (/private/var/folders/lh/zr_hs6q13w5_6wkl337_r5n80000gn/T/wzQL.6Csvwz/Atom.app/Contents/Resources/app/static/<embedded>:11:286651)
    

    Commands

         -3:23.4.0 application:open (atom-workspace.workspace.scrollbars-visible-when-scrolling.theme-one-dark-syntax.theme-one-dark-ui)
    

    Non-Core Packages

    
    
    opened by justinouaknine 0
Releases(v1.59.0-beta0)
Owner
Atom
Free and open source text editor, brought to you by GitHub
Atom
Lightweight Lua-based IDE for Lua with code completion, syntax highlighting, live coding, remote debugger, and code analyzer; supports Lua 5.1, 5.2, 5.3, 5.4, LuaJIT and other Lua interpreters on Windows, macOS, and Linux

Project Description ZeroBrane Studio is a lightweight cross-platform Lua IDE with code completion, syntax highlighting, remote debugger, code analyzer

Paul Kulchenko 2.2k Sep 20, 2021
The official Vim repository

For translations of this README see the end. What is Vim? Vim is a greatly improved version of the good old UNIX editor Vi. Many new features have bee

Vim - the text editor 24.7k Sep 14, 2021
Visual Studio Code

Visual Studio Code - Open Source ("Code - OSS") The Repository This repository ("Code - OSS") is where we (Microsoft) develop the Visual Studio Code p

Microsoft 121.6k Sep 20, 2021
LiveCode cross-platform development environment (engine)

LiveCode Community Edition Copyright © 2003-2019 LiveCode Ltd., Edinburgh, UK Introduction The LiveCode Community open source platform provides a way

null 409 Sep 18, 2021