Hacker News new | past | comments | ask | show | jobs | submit login
How to make the Atom editor transparent (github.com/transcranial)
97 points by transcranial on Jan 16, 2016 | hide | past | favorite | 55 comments



Meanwhile, I'll seat here, wishing for an update that won't make the editor eat almost 2GB of RAM after opening 3 text files :(


I remember seeing a similar complaint in the 1.4 release thread complaining about memory usage, and when I compared my own Atom memory usage with a project with about a half-dozen files open and it wasn't anyhere close to that.

Wonder what's going on.


Same here, I use Atom for all my projects. Sometimes with > 10 files open at once. I've never seen it get anywhere that bad.


In that thread the issue turned out to be a .git-folder in $HOME


Who would have thought that using an HTML DOM and rendering for low level tasks would consume resources!?


The web works fantastic in a browser but it seems like as soon as you try and port it to a native mobile application or desktop application; you can tell there is a performance difference from native code.


We only put up with shitty performance on the web because we're used to it.

We expect proper performance for actual programs.


There's actually two problems:

javascript vs. machine code generated from c (or a c-like)

rebuilding UI elements in HTML and rendering them with a browser engine vs. native UI toolkit.

Often in comparisons the emphasis is only on the first one, and the difference usually isn't that big (maybe a factor of 2). The real issue actually is the second problem, it's much worse.

That's also why I find the trend to do user interfaces in HTML so terrible: native UI toolkits work better and use less resources. The only advantage is that they run everywhere, but so does drawing into a 2D pixel matrix and rendering it.


Is "run everywhere" really still a problem? Qt e.g. works on everything from Windows to bare metal embedded Linux framebuffers to iOS devices.


I switched back to sublime when I found that atom was corrupting my files, by inserting different characters than the ones I was typing. I've seen this issue pop up several times, and when it does I stop using atom for several months.

This time around I discovered that sublime really is a lot faster than atom, and has better go support. Who cares if it never gets updated. :-)


I also regularly hit that bug where it starts inserting what I type "in parallel" in different places in the file. It's... upsetting.


FYI multiple cursors is a big feature of Sublime and Atom. Are you perhaps triggering that without realizing it?


Oh, it could be. I'll keep an eye next time. Tbanks!


It's almost definitely what it is. You're probably still holding down CMD or CTRL, even if briefly, when you start clicking.


Indeed. But it's not just about the memory usage. I have been using Atom to edit AsciiDoc documents and after having written more than 1000 lines or so, there is a noticeable delay after typing each keystroke. That may have been due to the AsciiDoc preview plugin I was using, but IIRC I disabled that and the issue persisted.


Your case may have been incidental to a prior version, but while I've observed lag relative to Sublime Text, Atom (on Linux) uses a little over 100 MB RAM and all my cores are at low utilization.


I don't know why they don't take the resource intensive stuff and push it into a "web server" that Atom then hits as a client, it is after all a "web client"?


I run it on a Macbook Pro. Admittedly I have 16 GB of RAM but it runs great!


I have the same machine. It's markedly slower than Sublime (though I used it full time until recently, as I really want it to do well. I've recently switched to various JetBrains tools)


Gosh, I couldn't complain about Atom being slow and then move to JetBrains stuff personally... While they are a lot better than they used to be, and they're amazingly powerful and fully featured, "fast" isn't a word id use to describe them unfortunately


I really never complained, just accepted it as a cost. JetBrains is definitely slower, but I get a ton of functionality, whereas Atom was just Sublime only slightly slower and open source.


It doesn't run slow at all and it's free so it has that advantage over Sublime


If you don't already have a Sublime license, then I do think it's the best option. (I do have a Sublime license however)

Slowness is of course relative, and yes, it's slower than Sublime. For instance, when searching using regex. Or opening large files.


This will break so much stuff, like you know, being able to click on things or move tabs around. Or minimize / zoom the window. It's possible to get it to work, but there are a lot of Difficulties, here's a similar PR

https://github.com/atom/atom/pull/10208


Transparency doesn't necessarily mean being able to click through it.


Can someone help me understand how this would be useful?


Cause at certain age, all geeks go through their Window Blinds period, that's when they keep changing the windowing theme, maybe tweaking the shell. Many find it silly if not a buggy after a while, and years later wonder, why are people still doing this?


I call this 'enlightenment', because I reached it after spending way too many hours in my teens tweaking my Enlightenment window manager config rather than doing something useful.


Never go full E17.


For editing code, I use a full-screen terminal with a wide left margin and transparency dimly showing a desktop picture. The large font I use is super awesome (Input Mono Narrow Thin) and it all looks gorgeous. It makes me happy every day, and it even inspires me to keep code clean. I may be shallow, but I don't enjoy working in drab environments like Eclipse with like Courier New and the default color theme. It makes me depressed.


Yes I can. My personal reasons are, when coding on a laptop with no secondary screen you can take advantage of transparency to see realtime updates (behind) without switching windows. Or at times to read some crazy long command from the docs and type it at the same time. I do this with VIM, though I can turn it on/off with iterm cmd-u


Thanks for making this point. It hadn't occurred to me before. I am a desktop junkie because I want to monitor things like Slack, Spotify, etc. on my secondary, and find it hard to cope on notebooks with a single screen. But, you're right, some transparency would really help.. now to figure out how to do it on OS X :-)


Imagine that you have to create website on your laptop.

With semi-transparent editor window and with live reloading, you are able to modify website code and see instantly how website changes underneath. Without switching apps.


My favorite variation of this is to have a special keystroke for saving a file and making the window transparent at the same time, then restoring the opacity on the next keystroke. I can see the effect of the live (or hot) reload and then either continue editing or cmd+tab to the browser if I need to interact with it.


A second monitor works even better - one for code, one for the preview.


But it's also more expensive and less portable. The transparency makes it easy as someone who is out and about doing work at coffee shops.


I usually want to keep an eye on my Selenium tests so I can debug them if they get stuck. When I don't have enough space to leave the selenium VNC window open, I put it underneath a semi-transparent terminal window which allows me to keep working.


I love semi-transparent terms when I'm copying information/commands from another window on a tiny netbook screen.


On a small screen (MB Air 11") I use a little transparency in the editor to see what the log on the console is doing, for example. Just not enough screen estate to have them side by side.


Because swag.


As an addition, you can make any window translucent/transparent in X11 (running with a composite manager) using transset-df, e.g.,

  # Lets you click on a window and sets it's alpha to half
  $ transset-df 0.5
One usually gets annoyed with not being able to read their terminal properly after a while though.


Yes, this is different from native terminal implementations in that it makes the entire window content transparent, including the text, vs just the background.


On one hand, I get the desire for transparency, having sought after it for many years, esp. back when it was a rarefied commodity. But these days I find I'm mostly only in favor of either fully opaque windows or transparency that's darn near fully opaque. Just enough transparency to hint that there's something tucked behind a full- or half- screen window. I find that it's too just easy to compromise contrast and readability in editor windows.


I find that transparency is most useful on small screens where you don't want to put windows side-by-side but still want to see both; e.g. I'd have documentation in a lower window and put my editor on top with transparency. Occasionally I'd have 3 or even 4 windows in a transparency stack, but it gets increasingly harder to read with more layers.

Here's a small utility for Windows that should be able to adjust transparency of any window, including Atom (I haven't tried but it's worked on most every other window):

http://www.vanmiddlesworth.org/vitrite/


I really would like to embedded atom as an online code editor... it seems like a no brainer given that its written in Javascript. But it seems there's no project to do this (hope I'm wrong!)

FWIW, I could never find any indication of an interest in this on the atom.io site, and googling "embed atom" and the like produce a lot of pages about Intels Atom CPU.


Atom uses node so there is no hope of running it in a browser. An atom forum thread: https://discuss.atom.io/t/running-atom-in-the-browser/8925


just because it's all javascript, doesn't mean you can "just" make a web client. electron, the shell atom is built on, has a lot of functions that are tied directly to the operating system and atom relies heavily on them. it also has a module system that allows you to do require() in front end javascript without needing to bundle anything. it would definitely be an interesting project, though.


So it is 1. built on top of heavy heavy Web technology 2. very much tied to the OS. The worst of both worlds...


Isn't this something you would generally want your WM/Compositor to handle?


Couldn't this be an Atom add on? Isn't that there purposes?


I think the point is that Atom needs to be recompiled with certain options to make this possible. You couldn't do it with a package.


Any way to do this in sublimetext? The only search result is for Windows.


You mean "translucent". If it was transparent, you wouldn't be able to read the text.

(Besides, translucent GUIs are out. That's Vista/Win7.)


Looking at the screenshot, the background isn't blurred so it's not translucent.

It has transparency, or it is semi-transparent. https://en.wikipedia.org/wiki/Transparency_and_translucency

(you are right about win7 having translucid windows)


Funny, in grade school I remember being taught that "translucent" meant anything in between full opacity and full transparency.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: