: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
  • https://user-images.githubusercontent.com/90650040/133944972-ccdf805b-043a-40d6-Arte**-88ecd16d8dc5.jpg

    https://user-images.githubusercontent.com/90650040/133944972-ccdf805b-043a-40d6-Arte**-88ecd16d8dc5.jpg

    Summary

    Motivation

    Describe alternatives you've considered

    Additional context

    opened by Luimoll 0
  • Problems editing UTF-16 .ini files

    Problems editing UTF-16 .ini files

    Prerequisites

    Description

    Atom saves UTF16 .ini files back as with a UTF8 header?

    https://github.com/RamonUnch/AltSnap/issues/97#issuecomment-922228480

    AltSnap.ini.txt

    Yes in the above linked txt file, the encoding is UTF-16LE as it should, however the stream prefix (seen with a hex e,ditor) is EF BB BF indicating UTF-8 encoding.

    This is a bug from the text editor you used, the correct prefix for UTF-16 streams is FF FE Which txt editor are you using? (I'm using Atom) it seems it thinks clever to always add UTF-8 prefix even when encoding is different! maybe you enabled some options or something.

    If the prefix is wrong, then windows can no longer determine the proper encoding and tries to read utf-16 like if it was utf-8, so some function seems to be crashing, also it seems Notepad converts null characters into spaces and removes line breaks, even Notepad++ is unable to read the file properly and displays NULL every other characters.

    Steps to Reproduce

    1. Open a standard UTF16 .ini file. E.g.: AltSnap16.ini.txt
    2. Save the file.
    3. It changes the prefix, resulting in a corrupted .ini.

    Expected behavior:

    No change in prefix

    Actual behavior:

    It saves a corrupt file that crashes the program (AltSnap) when it tries to overwrite it.

    Reproduces how often:

    Unknown

    Versions

    C:\Users\shelb>atom --version
    
    Atom    : 1.58.0
    Electron: 9.4.4
    Chrome  : 83.0.4103.122
    Node    : 12.14.1
    
    C:\Users\shelb>apm --version
    apm  2.6.2
    npm  6.14.13
    node 12.14.1 x64
    atom 1.58.0
    python 3.9.7
    git 2.33.0.windows.2
    visual studio
    
    Edition	Windows 11 Pro
    Version	21H2
    Installed on	‎7/‎08/‎2021
    OS build	22000.194
    Experience	Windows Feature Experience Pack 1000.22000.194.0
    

    Additional Information

    opened by shelbyKiraM 0
  • <?xml version=
    opened by Asshole8841 0
  • bootstrap: Update Node requirement to 10.12+ in system requirement checker

    bootstrap: Update Node requirement to 10.12+ in system requirement checker

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

    Identify the Bug

    Companion PR to #22979.

    Description of the Change

    • Update the required Node to build Atom to 10.12+ in the system requirements checker script. Because...
      • Node 10.12+ has been the practical minimum requirement to build Atom as of https://github.com/atom/atom/pull/20879.
      • If #22979 is merged without this, users of Node < 10.12 won't be properly warned that their version of Node is too old to properly build Atom.

    Alternate Designs

    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/).

    (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 do think Node 10.12+ is the sensible minimum requirement now.)

    Possible Drawbacks

    Atom might be somewhat functional without a chromedriver binary, or without a startup cache? In which case this PR makes it harder to "mostly" build Atom on certain legacy or exotic OSes that we already don't support.

    Verification Process

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

    • Before this PR, Node versions 4 or newer were allowed... with only a "deprecation warning" for Node 4 or 5... and with Node 6 and above being allowed without even a warning.
    • 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 0
  • Remove duplicate `to`

    Remove duplicate `to`

    Requirements for Contributing Documentation

    • Fill out the template below. Any pull request that does not include enough information to be reviewed in a timely manner may be closed at the maintainers' discretion.
    • The pull request must only contribute documentation (for example, markdown files or API docs). To contribute other changes, you must use a different template. You can see all templates at https://github.com/atom/.github/tree/master/.github/PULL_REQUEST_TEMPLATE.

    Description of the Change

    The word to is a duplicate here. (Typical duplicate word error)

    The periods/full stops for return types in the documentation seems inconsistent, but I'm ignoring that for now

    Release Notes

    N/A

    opened by icecream17 2
  • Remove extra spaces

    Remove extra spaces

    Requirements for Contributing Documentation

    • Fill out the template below. Any pull request that does not include enough information to be reviewed in a timely manner may be closed at the maintainers' discretion.
    • The pull request must only contribute documentation (for example, markdown files or API docs). To contribute other changes, you must use a different template. You can see all templates at https://github.com/atom/.github/tree/master/.github/PULL_REQUEST_TEMPLATE.

    Description of the Change

    Remove extra spaces

    One space after Experimental: is consistent with line 653

    One space after can is self-explanatory

    Release Notes

    N/A

    opened by icecream17 0
  • 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
  • bootstrap: Use legacy-compatible `catch` syntax (support older Node)

    bootstrap: Use legacy-compatible `catch` syntax (support older Node)

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

    Identify the Bug

    Fixes #22969

    Description of the Change

    • Use catch syntax in script/lib/verify-machine-requirements.js that is backward-compatible with older Node (9 and older)
      • Node 10 introduced catch {} blocks without needing to bind the exception. Older Node requires the exception to be bound, like this: catch (exceptionVarName) {}.

    Side note:

    • (You can't actually build Atom with any Node version less than 10.12 anymore, but the system requirements checker script really should support older versions of Node... If only so we can print more-useful errors about users' versions of Node being too old.)
    • 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! (https://github.com/atom/atom/issues/22969).

    Alternate Designs

    None.

    Possible Drawbacks

    Allows the rather outdated Node check to function as written.

    The Node version check should be updated... Please consider merging https://github.com/atom/atom/pull/23001 along with this PR.

    Verification Process

    • Ranscript/bootstrap and script/build on Node 9 and older.

    Result: Users with Node older than 10 who run script/bootstrap (or script/build) can now get through the earliest part, script/lib/verify-machine-requirements.js, without encountering syntax errors. That means the script can properly do its job of detecting build dependency versions and printing their version numbers... and/or printing warnings or errors if the versions are too old to build Atom.

    Release Notes

    N/A

    opened by DeeDeeG 2
  • Releases(v1.59.0-beta0)
    Owner
    Atom
    Free and open source text editor, brought to you by GitHub
    Atom
    📝A simple and elegant markdown editor, available for Linux, macOS and Windows.

    Mark Text ?? Next generation markdown editor ?? A simple and elegant open-source markdown editor that focused on speed and usability. Available for Li

    Mark Text 19.4k Sep 18, 2021
    Oni: Modern Modal Editing - powered by Neovim

    NOTE: This repository is unmaintained - we are focusing on Onivim 2 and libvim. Modern Modal Editing Introduction Oni is a new kind of editor, focused

    onivim 11.5k Sep 17, 2021
    Next-gen, highly customizable content editor for the browser - based on React and Redux and written in TypeScript. WYSIWYG on steroids.

    ReactPage ReactPage is a smart, extensible and modern editor ("WYSIWYG") for the web written in React. If you are fed up with the limitations of conte

    null 8.6k Sep 20, 2021
    SwiftUI code editor view for iOS and macOS

    SwiftUI code editor view for iOS and macOS

    Manuel M T Chakravarty 261 Sep 14, 2021
    Dead simple JSON editor using josdejong/jsoneditor

    English | 日本語 JSON Editor Simple JSON Editor for Win & Mac! This app is just a thin wrapper of josdejong/jsoneditor. Thanks @josdejong! Install Downlo

    Takayosi Amagi 38 Sep 13, 2021
    GUI for editing, visualizing, and manipulating JSON data

    JSON-Splora JSON-Splora is a GUI for editing, visualizing, and manipulating JSON data with jq or JavaScript. Design Built with Electron Editor and out

    Wells Johnston 1.8k Sep 19, 2021
    An open source code editor for the web, written in JavaScript, HTML and CSS.

    ⚠️ On September 1, 2021, Adobe will end support for Brackets. If you would like to continue using, maintaining, and improving Brackets, you may fork t

    Adobe, Inc. 33.7k Sep 19, 2021
    A Markdown Editor for the 21st century.

    Zettlr [ˈset·lər] A Markdown Editor for the 21st century. Homepage | Download | Documentation | Discussion Forum | Contributing | Support Us With Zett

    Zettlr 5.6k Sep 15, 2021
    Vim is a greatly improved version of the good old UNIX editor Vi

    Vim is a greatly improved version of the good old UNIX editor Vi. Many new features have been added: multi-level undo, syntax highlighting, command line history, on-line help, spell checking, filename completion, block operations, script language, etc. There is also a Graphical User Interface (GUI) available. Still, Vi compatibility is maintained, those who have Vi "in the fingers" will feel at home. See runtime/doc/vi_diff.txt for differences with Vi.

    Vim - the text editor 24.8k Sep 21, 2021
    Open source Markdown editor for macOS.

    MacDown MacDown is an open source Markdown editor for OS X, released under the MIT License. The author stole the idea from Chen Luo’s Mou so that peop

    MacDown 8.8k Sep 24, 2021
    QOwnNotes is a plain-text file notepad and todo-list manager with markdown support and Nextcloud / ownCloud integration.

    QOwnNotes Installation | Changelog | Issues | Shortcuts | Documentation | Screenshots | Nextcloud API | Nextcloud App Page | ownCloud API | Telegram G

    Patrizio Bekerle 2.2k Sep 19, 2021
    General purpose plain text editor for macOS. Widely known for its live collaboration feature.

    SubEthaEdit General purpose plain-text editor for macOS. Widely known for its live collaboration feature. github.com/subethaedit/SubEthaEdit is the ma

    SubEthaEdit Contributors 1.2k Sep 19, 2021
    Lightweight Plain-Text Editor for macOS

    CotEditor CotEditor is a lightweight plain-text editor for macOS. Requirement: macOS 10.15 Catalina or later Web Site: https://coteditor.com Mac App S

    CotEditor Project 3.9k Sep 17, 2021
    Lightweight Plain-Text Editor for macOS

    CotEditor CotEditor is a lightweight plain-text editor for macOS. Requirement: macOS 10.15 Catalina or later Web Site: https://coteditor.com Mac App S

    CotEditor Project 3.9k Sep 24, 2021
    A modern, native macOS markdown editor

    Pine 简体中文 Pine is lightweight macOS markdown editor. It's currently a work in progress. It is a document based application, and aims to follow Apple's

    Luka Kerr 2.8k Sep 23, 2021
    Noto is a beautiful and simple plain text editor for macOS written in Swift.

    Noto A beautiful and simple plain text editor for macOS written in Swift. Download You can download a compiled binary from Noto's homepage. Features S

    Bruno Philipe 224 Sep 15, 2021
    A simple CSV editor for the Mac

    Table Tool A simple CSV editor for OS X. Download on the Mac App Store. The CSV format is a common used file format to store and exchange tabular data

    Jakob Egger 1.1k Sep 21, 2021
    The Light Table IDE ⛺

    Light Table Light Table is a next generation code editor that connects you to your creation with instant feedback. Light Table is very customizable an

    Light Table 11.6k Sep 20, 2021
    TextMate is a graphical text editor for macOS 10.12 or later

    TextMate Download You can download TextMate from here. Feedback You can use the TextMate mailing list or #textmate IRC channel on freenode.net for que

    null 13.7k Sep 17, 2021