135

The various icons and buttons in the Eclipse (Kepler) interface are very, very small on a laptop with a 3200x1800px screen. The red error decoration that appears to indicate errors on files is difficult to see unless my nose a few cm from the screen.

I've played around with adjusting the screen resolution and other settings in the operating system (Windows 8.1), which helps, but results in other applications appearing too large, and even then the Eclipse icons are uncomfortably small. Enlarging the fonts in the Eclipse preferences (window>preferences>Dialog Font) doesn't affect the icon size.

Is there any easy way to force larger icons? Any work arounds (I've used the Magnifier but that's a rather clunky solution)? Should I just buy a magnifying glass and keep it next to my mouse? Maybe someone should make a mouse with a magnifying glass embedded? :)

Thanks.

SeeJay719
  • 1,485
  • 2
  • 10
  • 7
  • can u try using windows without aero mode..may be that could possibly the thing will change the view icons..or change the screen resolution only for eclipse.. – Lucky Dec 21 '13 at 13:28
  • I've noticed that when Eclipse starts up, the splash screen initially shows up enlarged (correctly), but then at some point goes back to normal resolution (small). This persists in the workbench. I wonder if that happens when switching from the `.exe` execution to the JVM, and it then loses some information Windows needs to scale correctly? – nilskp Jul 08 '14 at 10:54
  • 4
    Although there are many good workaround solutions in these answers, there is an official bug report on Eclipse (https://bugs.eclipse.org/bugs/show_bug.cgi?id=421383). I advise you vote for the bug if this affects you, to get it prioritized. – LondonAppDev Jan 16 '15 at 09:31
  • I wonder if something could be done using the new CSS features in Eclipse 4. I've been looking but I'm finding this CSS trickery to be quite complex and haven't found a simple `.icon` class yet for which we can set the `size` to `200%`. – Redsandro Mar 12 '15 at 14:49
  • This is fixed on the latest version Eclipse Photon – crowne Aug 18 '18 at 05:49
  • experience with kubuntu 19.10 . Eclipse IDE for C/C++ Developers Version: 2019-09 R (4.13.0) Build id: 20190917-1200 – Marian K. Oct 29 '19 at 00:50
  • Workaround. I have experience with eclipse with kubuntu 19.10 (kde5). Eclipse IDE for C/C++ Developers Version: 2019-09 R (4.13.0) Build id: 20190917-1200 . Native/highest laptop screen resolution 3840x2160. (HP spectre x360) used with Scale Display factor 3 . I edited eclipse/eclipse.ini manually to contain (Dsun.java2d.dpiaware=true) --launcher.appendVmargs -vmargs -Dsun.java2d.dpiaware=true – Marian K. Oct 29 '19 at 01:08
  • Continuation: When eclipse is started at highest resolution and scale factor 3 fonts are ok, but icons are were small. In kde display settings I temporary go down go with resolution, 2/3 of original resolution. I use this 2560x1440 (going down with screen resolution should scale up fonts ) and change scale factor from 3 to 2. Both changes in total should have neutral effect. I log out of kde session into sddm manager and log in again. When I start eclipse the icons are amazingly displayed with the right size comparable with font and readable. – Marian K. Oct 29 '19 at 01:09
  • Continuation:Now I can go back to display setting and change resolution to 3840x2160 and scale factor 3 and apply. The change takes effect immediately and icons are still with the correct (big) size and with highest resolution. It is only until I log out of kde and log in again and start eclipse again. QT scale parameters marian@kubuntu1910:~$ env | grep QT QT_SCREEN_SCALE_FACTORS=eDP-1=2;DP-1=2;HDMI-1=2;DP-2=2;HDMI-2=2; QT_AUTO_SCREEN_SCALE_FACTOR=0 – Marian K. Oct 29 '19 at 01:09

25 Answers25

95

I struggled with this issue for a little bit too. I noticed a lot of you posted really complicated resolutions but there is a much easier way to do this! Its just a program and you shouldn't have to modify scripts, or install third party tools. The issue is related to High DPI scaling as mentioned above but what I think a lot of you are missing is that you can't directly modify compatibility settings on the launcher itself. The launcher and eclipse are two different programs! You need to browse to the Eclipse.exe and override the High DPI scaling option there. Once set, you can use the launcher as normal. The launcher will hit the executable, launch the eclipse.exe and since you set the compatibility settings on the .exe it will run using those settings. I spent like 10 minutes tracking down where the exe was so if its any help mine was located in: C:\Users\username\AppData\Local\Yatta\Launcher\installations\eclipse-ide-for-java-developers\eclipse.exe

Here is a screen shot of how I set my compatibility settings.

Eclipse.exe compatibility settings

And yes, the icons were super small before adjusting this setting. I tried setting compatibility settings on the launcher itself but it obviously didn't fix the issue. But after setting the override High DPI setting for the eclipse.exe icons are now normal size. Let me know if this works for others!

Devin C
  • 1,121
  • 7
  • 9
43

I found a reference that suggested adding the following to eclipse.ini

-Dswt.enable.autoScale=true
-Dswt.autoScale=200
-Dswt.autoScale.method=nearest

This doubled the size of the icons for me on Windows 10. I am using Eclipse Version: 2020-03 (4.15.0)

Tim Dowty
  • 1,460
  • 13
  • 9
  • 4
    I like this solution because it does not blurry (zooming) the icon images but seems to natively rescale them – Paolo Oct 03 '20 at 17:13
  • Awesome! I am using Spring Tool Suite 4 Version: 4.9.0.RELEASE Build Id: 202012132054 on windows 10. Your solution just works!! – coverboy Feb 12 '21 at 18:34
  • This hack is really cool. Just add it to the eclipse.ini & restart. @Tim Dowty - thank you so much!! Can I change the auto scale to less than 200 ? Will that zoom in properly? – Srikumar Krishna Iyer Jul 20 '21 at 14:53
  • 1
    Under ubuntu 21.10 using wayland this did not work so well. It scaled everything, not just the icons, and the redraws were the all over the place. – Brett Sutton Nov 24 '21 at 23:10
  • The "properties" solution failed for STM32CubeIDE on Windows 11 in that when I move the cursor away from a file tab it disappears. This solution works well! – jerry_fuyi Jan 15 '22 at 04:48
  • Version: 4.14.0.RELEASE the file seems to be renamed at least in win11 sts-4.14.0.RELEASE\SpringToolSuite4.ini" your solution seems the best of all these – JesseBoyd Mar 17 '22 at 05:01
  • Thank you so much! Your solution worked perfect for me. This should be the top solution in my opinion. – Krasnars May 05 '22 at 12:31
  • This solution works on Version: 2023-06 (4.28.0) on Windows. – mbmast Aug 06 '23 at 20:55
40

I figured that one solution would be to run a batch operation on the Eclipse JAR's which contain the icons and double their size. After a bit of tinkering, it worked. Results are pretty good - there's still a few "stubborn" icons which are tiny but most look good.

Eclipse After Processing on QHD

I put together the code into a small project: https://github.com/davidglevy/eclipse-icon-enlarger

The project works by:

  1. Iterating over every file in the eclipse base directory (specified in argument line)
  2. If a file is a directory, create a new directory under the present one in the output folder (specified in the argument line)
  3. If a file is a PNG or GIF, double
  4. If a file is another type copy
  5. If a file is a JAR or ZIP, create a target file and process the contents using a similar process: a. Images are doubled b. Other files are copied across into the ZipOutputStream as is.

The only problem I've found with this solution is that it really only works once - if you need to download plugins then do so in the original location and re-apply the icon increase batch process.

On the Dell XPS it takes about 5 minutes to run.

Happy for suggestions/improvements but this is really just an adhoc solution while we wait for the Eclipse team to get a fix out.

David Levy
  • 587
  • 1
  • 6
  • 9
  • 1
    Could anybody build it, please (for use with Eclipse C/C++)? – Dvor_nik Dec 02 '14 at 19:28
  • 2
    Could you elaborate a bit on how to run this in Eclipse? When importing this as a java project, I get 58 errors. I know nothing about Java. Preferably add to `README.md`. :) – Redsandro Mar 12 '15 at 15:03
  • you can run it by run as -> Java Application and then add two arguments -b PATH_TO_YOUR_ECLIPSE_DIR -o PATH_TO_EMPTY_OUTPUT_DIR – Manuel Manhart Nov 03 '15 at 14:16
  • It threw an ArrayOutOfBounds Exception after a while, but if you copy all missing files from your eclipse folder (no overwrites) into the output folder it starts and the icons are bigger. – Manuel Manhart Nov 03 '15 at 14:18
  • For others trying to run this: mvn install java -cp : testEclipse.FixIcons -b ~/eclipse -o ~/apps/eclipse-big-icons – Brett Sutton Nov 24 '21 at 23:31
38

Had same problem, to resolve it, create a shortcut of the launcher, right click > properties > compatibility > tick on 'Override high DPI scaling behaviour' and select System Enhanced from the dropdown as shown on pic below. Relaunch eclipse after changes.

enter image description here

Vergil C.
  • 1,046
  • 2
  • 15
  • 28
  • 1
    This is the only simple solution that worked for me on Windows 10 with Eclipse Photon – Kapil Mar 26 '19 at 05:49
  • 1
    i had my tabs start flickering and disspearing after doing this so i had to go back and now i still have small icons :( – gtx Aug 12 '19 at 06:36
  • From Windows 10 1803 the checkbox is visible after clicking on the "Change high DPI settings" button. – iwis Sep 16 '20 at 22:58
  • Worked, Override high DPI + System was the fix. – techloris_109 Aug 31 '21 at 15:19
  • In Windows 11, with a 4k monitor, when I choose System (Enhanced) I get perfect size for the icons, and such icons do not appear out of focus (like when choosing the option System). Thanks for the suggestion!!! – psuzzi Jun 02 '22 at 21:58
19

For completion I thought I'd add that this issue is solved in Eclipse 4.6 Neon https://www.eclipse.org/downloads/index-developer.php (the current developer version). The icons look a bit sad (low resolution) but at least they are scaled correctly on my 4k screen.

Michael Medin
  • 341
  • 2
  • 5
  • 4
    Here the "what's new" page for Neon...and you'll never guess what is at the top of the list: https://www.eclipse.org/eclipse/news/4.6/platform.php – Dave Jul 08 '16 at 14:45
  • 8
    For those, like me, who found that even on the new Eclipse it wasn't scaled, see here: [swt-autoscale-tweaks](https://www.eclipse.org/eclipse/news/4.6/platform.php#swt-autoscale-tweaks) Basically I added `-Dswt.autoScale=quarter` to my `eclipse.ini` file. – CrazyPenguin Sep 30 '17 at 13:38
  • @CrazyPenguin: Awesome, this is the only solution that worked for me, thanks – Sir Hackalot Oct 31 '21 at 15:33
12

I'm running on a Dell XPS 15. Rather than stuffing around with resolutions and magnifications and all that, I just did the following:

  • Right click the launcher icon
  • Click on "properties"
  • Select the "compatibility" tab
  • Choose "Windows XP (Service Pack 3)" for "Run this program in compatibility mode for:".

Everything seems to work fine and the display looks good (if a bit blurry/pixelly). The only difference i can see is that the title bar is in Windows XP style (oh no!!!).

I'm curious to know if this works for others and if anyone comes across any problems.

Jamie Carl
  • 1,206
  • 14
  • 22
  • 4
    Sadly, there is no "Windows XP ..." in the dropdown in Windows 8.1, the lowest version is Vista (which, at least on my system, prevents start-up) – topherg May 30 '14 at 11:10
  • @cgoddard That's... not true. I just followed Jamie's instructions on Windows 8.1 and it worked perfectly. – pdusen Jun 19 '14 at 21:22
  • 1
    @pdusen not sure what makes you think that, there is no option for win xp. have recently done a clean install, and now setting compatibility mode doesn't stop it from loading, but it still looks the same – topherg Jun 20 '14 at 01:11
  • @cgoddard I think that because I just did it. http://tinypic.com/r/1037u5e/8 Don't know what to tell you... – pdusen Jun 20 '14 at 01:24
  • 2
    @pdusen fair enough, however: http://www.networksteve.com/windows/topic.php/Will_there_be_Windows_Xp_Mode_in_Windows_8.1/?TopicId=59876&Posts=37 & http://tinypic.com/r/6nz8e1/8 – topherg Jun 20 '14 at 08:49
  • I just found that if you turn off "scaling" setting without setting "compatible with Windows XP" or whatever, you can get very clear fonts and still have Metro style window. – akarilimano Mar 13 '15 at 07:54
  • 1
    You guys are both right. The option only exists for 32-bit eclipse. I attempted the instructions with 64-bit eclipse and I see only vista compatibility. I tried with 32-bit and I saw the version of available settings with Windows XP and it WORKS! This is great. It's finally made my Yoga II Pro useful for developing Java. – Dan Smith Oct 17 '15 at 19:09
  • Thanks for this simple and unintrusive solution. Works for me on Windows 10. – luator Oct 12 '16 at 14:17
9

I found the easiest way was to create a manifest file which forces Windows to scale the application. It is blurry and non-ideal but better than an almost invisible UI! It seems this technique is applicable to any application too.

Create an eclipse.exe.manifest file in the same folder as eclipse.exe and place the following XML within it:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>

<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3">

<dependency>
  <dependentAssembly>
    <assemblyIdentity
      type="win32"
      name="Microsoft.Windows.Common-Controls"
      version="6.0.0.0" processorArchitecture="*"
      publicKeyToken="6595b64144ccf1df"
      language="*">
    </assemblyIdentity>
  </dependentAssembly>
</dependency>

<dependency>
  <dependentAssembly>
    <assemblyIdentity
      type="win32"
      name="Microsoft.VC90.CRT"
      version="9.0.21022.8"
      processorArchitecture="amd64"
      publicKeyToken="1fc8b3b9a1e18e3b">
    </assemblyIdentity>
  </dependentAssembly>
</dependency>

<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
  <security>
    <requestedPrivileges>
      <requestedExecutionLevel
        level="asInvoker"
        uiAccess="false"/>
    </requestedPrivileges>
  </security>
</trustInfo>

<asmv3:application>
  <asmv3:windowsSettings xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">
    <ms_windowsSettings:dpiAware xmlns:ms_windowsSettings="http://schemas.microsoft.com/SMI/2005/WindowsSettings">false</ms_windowsSettings:dpiAware>
  </asmv3:windowsSettings>
</asmv3:application>

</assembly>
Brendan Annable
  • 2,637
  • 24
  • 37
  • 4
    Note: for this to work you have to modify the registry. Open regedit and create a key `HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\SideBySide\PreferExternalManifest` (DWORD) with value 1. – ZhekaKozlov Feb 09 '16 at 08:57
7

The best way is to edit the exe manifest with something like resource tuner and add

    <application xmlns="urn:schemas-microsoft-com:asm.v3"><windowsSettings><ms_windowsSettings:dpiAware xmlns:ms_windowsSettings="http://schemas.microsoft.com/SMI/2005/WindowsSettings" xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">false</ms_windowsSettings:dpiAware></windowsSettings></application>        

after dependency to set the exe as dpi unaware. This way the program will be a little pixelated but it will be in a confortable size.

Yucelen Gul
  • 71
  • 1
  • 1
7

For anyone seeing this after upgrading their Windows 10 (post April 2018 update), the DPI Scaling Override setting has moved into a dedicated window:

enter image description here

enter image description here

noamyg
  • 2,747
  • 1
  • 23
  • 44
5

I have looked up solutions for this issue for the last month, but I have not found an ideal solution yet. It seems there should be a way around it, but I just can't find it.

I use a laptop with a 2560x1600 screen with the 200% magnification setting in Windows 8.1 (which makes it looking like a 1280x800 screen but clearer).

Applications that support such "HiDPI" mode look just gorgeous, but the ones that don't (e.g. Eclipse) show tiny icons that are almost unreadable.

I also use an outdated version of Visual Studio. That has not been updated for HiDPI (obviously MS wants me to use a newer version of VS), but it still works kind of ok with HiDPI screens since it just scales things up twice -- the sizes of icons and letters are normal but they look lower-resolution.

After I saw how VS works, I began looking up a way to launch Eclipse in the same mode since it would not be technically very hard to just scale things up like how VS does. I thought there would be an option I could set to launch Eclipse in that mode. I couldn't find it though.

After all, I ended up lowering the screen resolution to 1/4 (from 2560x1600 to 1280x800) with no magnification (from 200% to 100%) and not taking advantage of the high-resolution screen until Eclipse gets updated to support it since I had to do some work, but I am desparately waiting for an answer to this issue.

Jae
  • 94
  • 4
  • Thanks, Jae. I've taken your approach also: reducing the screen resolution and magnification in tandem. It's not an ideal solution since many applications look much better at the higher resolution. Hopefully more applications will take advantage of the HiDPI functions soon. – SeeJay719 Dec 23 '13 at 14:08
  • 2
    I just found a thread related to this matter: https://bugs.eclipse.org/bugs/show_bug.cgi?id=421383 – Jae Dec 30 '13 at 04:34
  • 2
    @Jae while the bug you linked resolved the fundamental issue in SWT, the Eclipse UI still has to adopt the new API, see https://bugs.eclipse.org/382972 (still unresolved as of this writing). – Stephan Herrmann Aug 01 '15 at 18:28
  • From Windows 10 1703 we can turn on scaling of an application GUI as in the Devin's answer. – iwis Sep 16 '20 at 23:28
5

The below change works seamlessly.

Quoting from CrazyPenguin's reply

"For those, like me, who found that even on the new Eclipse it wasn't scaled, see here: swt-autoscale-tweaks Basically I added -Dswt.autoScale=quarter to my eclipse.ini file."

Sujan Reddy A
  • 132
  • 2
  • 6
4

Best effortless solution is to go for Eclipse Neon. All bugs are fixed as a part of this release. https://bugs.eclipse.org/bugs/show_bug.cgi?id=421383

  • 4
    A small caveat is it didn't immediately fix the problem but adding the following to the vmargs of my eclipse.ini file did: -Dswt.autoScale=200 – William Jarvis Aug 26 '16 at 10:48
  • I had to add both -Dswt.autoScale=200 _and_ turn off GTK3 support (`env SWT_GTK3=0 eclipse`) – Paul Hicks Apr 20 '17 at 01:49
  • I have included `-Dswt.autoScale=200` and icons size increased but lost the resolution quality completely. So I have reverted that change in `eclipse.ini` file. But even after removing `-Dswt.autoScale=200` entry, the icons still appearing big in my eclipse photon – Suresh Feb 10 '19 at 15:13
  • 1
    "All bugs are fixed..." seems like a bit of an overstatement to me. – jacobq Jul 10 '19 at 15:19
4

Have a look at Neon (4.6) M6 - New and Noteworthy, the milestone release contains some automatic scaling for images (e.g. for toolbar).

SWT provides resolution-based auto-scaling

SWT now automatically scales images on high-DPI monitors on Windows and Linux, similar to the Mac's Retina support on OS X. In the absence of high-resolution images, SWT will auto-scale the available images to ensure that SWT-based applications like Eclipse are scaled proportionately to the resolution of the monitor.

enter image description here

This feature can be disabled on Windows and GTK by setting this VM argument to false in eclipse.ini or on the command line after -vmargs:

-Dswt.enable.autoScale=false

Auto-scaling cannot be disabled on the Mac as it is provided by the OS.

Caveats: We're aware that some scaled images look bad at scale factors less than 200%. This will be improved in M7. Furthermore, we're working on support for high-DPI images in Platform UI, so that plug-in providers can add high-DPI icons without doing any code changes.



Or maybe this helps, in Eclipse Mars API for high resolution was added

New APIs have been added to provide support for rendering high-resolution images on high-DPI monitors. Two constructors have been added to the Image class. They accept image-provider callbacks that allow clients to supply resolution-dependent versions of images:

public interface ImageDataProvider {
  public ImageData getImageData (int zoom);
}
public interface ImageFileNameProvider {
  public String getImagePath (int zoom);
}

Depending on the user's monitor configuration, SWT will request images with the corresponding zoom level. Here's an example that displays 3 original images, followed by variants whose resolution changes depending your monitor's resolution: Snippet367.java.

Note that this is just the first step to support high-resolution images in SWT and Eclipse-based applications. Work is underway to adopt the new APIs in the platform. Futhermore, more work in SWT is required to properly support drawing into high-resolution images via GC.

APIs for high-DPI monitor support
http://help.eclipse.org/mars/index.jsp?topic=%2Forg.eclipse.platform.doc.isv%2FwhatsNew%2Fplatform_isv_whatsnew.html

flavio.donze
  • 7,432
  • 9
  • 58
  • 91
3

-SurfacePro3-

  • Download and unzip eclipse "32bit Version".
  • Run on "Windows XP mode".
3

The compatibility mode for Windows Xp, it's only available for the Eclipse 32 bit version and after running in this compatibility mode the icons and text will be the right size, but blurry because they are scaled from their native resolution to the screen resolution and doing so the quality is lost.

Dan Romulus
  • 95
  • 2
  • 13
3

I fixed @Sigh's solution by creating a (Linux) shellscript (.sh) to do something similar. This is very crude, brutal, and requires adoption for your specific system. Use at your own risk. It might break your entire installation. Make backups of the folders before you run this script. Script can be improved.

#!/bin/bash

for J in *.jar
do
        echo "Copying $J..."
        mkdir -p "/tmp/$J"
        cp "$J" "/tmp/$J/"
        cd "/tmp/$J"

        echo "Extracting $J..."
        jar xf "$J"
        rm "$J"

        echo "Processing images..."
        find . -name "*.gif" -exec convert {} -resize 200% {} \;

        echo "Compressing $J..."
        if [ `ls .[^.]* 2>/dev/null | wc -l` = 0 ]
        then
                jar cf "$J" *
        else
                jar cf "$J" * .[!.]*
        fi
        cd -
        mv $J{,-bak}
        mv "/tmp/$J/$J" .
        rm -rf "/tmp/$J"

        echo "Done."
        echo ""
done

Run this in /opt/eclipse/plugins and ~/.eclipse/org.eclipse.platform_4.x.x/plugins (or whatever the paths for your installation are). Same issues as with @Sigh's solution: This is a brutal "fix" and breaks after every update or new installation.

Script can be perfected:

  • Ignore .jar files without /icons/ folder
  • Only resize images that are 16x16 so you can run this again after every update/installation

Requires imagemagick.


Caveats

  • It doesn't work on all icons.
    • Does anyone know where the other assets are or why they aren't resized? Perhaps they are not .gif?
  • Project Explorer icons are messed up.

Fixes are welcome!

Redsandro
  • 11,060
  • 13
  • 76
  • 106
  • 2
    I've made a [modified](https://gist.github.com/gene1wood/3b4b37d5a438871b8876/revisions) version of @Redsandro's code which you can see in [this gist](https://gist.github.com/gene1wood/3b4b37d5a438871b8876) which simplifies some of the directory traversal, simplifies dealing with temp files, and looks for images of 16 or fewer pixels in size. – gene_wood Aug 19 '15 at 19:45
  • @gene_wood you use some clever bash commands. I still have the problem that the (small <16px) overlay icons on the Project Explorer icons somehow seem huge (in my original script and consequently yours), obscuring the actual file icons. Perhaps we need to ignore images bigger _or_ smaller than 16px. Anyway, mind upvoting my answer? :D – Redsandro Aug 20 '15 at 09:10
  • Based on @gene_wood script exchange the `-name "*.gif"` with `-name '*.png' -o -name '*.gif` and as far as I can see all icons will be enlarged. – Marc Johnen Sep 30 '15 at 08:42
  • A tip for those reading this page and trying various tricks. I found out that the toolbar icons are all under `configuration/org.eclipse.osgi` for me. So you "only" need to resize icons found in there. – electrotype Apr 21 '22 at 13:40
1

Thank you Sigh David Levy. I could not develop on Eclipse w/out your sol'n. I had to add a coupla catch (exceptions) to your code to get it to work:

            while (srcEntries.hasMoreElements()) {
                    ZipEntry entry = (ZipEntry) srcEntries.nextElement();
                    logger.info("Processing zip entry ["+ entry.getName() + "]");

                    ZipEntry newEntry = new ZipEntry(entry.getName());


                    try { outStream.putNextEntry(newEntry); } 
                    ***catch (Exception e) { 
                        logger.error("error: ", e);
                        outStream.closeEntry();
                        continue;*
                    }**
JDOaktown
  • 4,262
  • 7
  • 37
  • 52
  • 1
    You got it to work! Could you compile a binary or explain how to get this to run? Also [see github comment](https://github.com/davidglevy/eclipse-icon-enlarger/issues/7#issuecomment-78498467). – Redsandro Mar 13 '15 at 08:59
1

There is a nice article in JaxEnter for an work around HiDPI for Eclipse

Anand
  • 1,845
  • 2
  • 20
  • 25
1

Following solution worked for me

First you need to add this registry key

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\SideBySide\PreferExternalManifest (DWORD) to 1

Next, a manifest file with the same name as the executable must be present in the same folder as the executable. The file is named eclipse.exe.manifest and consists of:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3">
    <description>eclipse</description>
    <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
        <security>
            <requestedPrivileges>
                <requestedExecutionLevel xmlns:ms_asmv3="urn:schemas-microsoft-com:asm.v3"
                               level="asInvoker"
                               ms_asmv3:uiAccess="false">
                </requestedExecutionLevel>
            </requestedPrivileges>
        </security>
    </trustInfo>
    <asmv3:application>
        <asmv3:windowsSettings xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">
            <ms_windowsSettings:dpiAware xmlns:ms_windowsSettings="http://schemas.microsoft.com/SMI/2005/WindowsSettings">false</ms_windowsSettings:dpiAware>
        </asmv3:windowsSettings>
    </asmv3:application>
</assembly>

you can find more details here

KItis
  • 5,476
  • 19
  • 64
  • 112
  • 2
    What worked for me at the end was adding the manifest file to the javaw.exe just like [https://bugs.eclipse.org/bugs/show_bug.cgi?id=421383#c66 say](https://bugs.eclipse.org/bugs/show_bug.cgi?id=421383#c66) – elysch Mar 31 '16 at 01:19
  • 1
    Thank you, elysch. Making eclipse.exe.manifest worked for Eclipse Mars.1, but not for Mars.2. Making javaw.exe.manifest worked! – rakensi Apr 17 '16 at 11:58
1

What worked for me at the end was adding the manifest file to the javaw.exe just like Heikki Juntunen said at https://bugs.eclipse.org/bugs/show_bug.cgi?id=421383#c66

The instructions about how to edit the registry and create the manifest file where written by Matthew Cochrane at https://bugs.eclipse.org/bugs/show_bug.cgi?id=421383#c60 and @KItis wrote the instructions here

I put here a copy of that post:


First you need to add this registry key

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\SideBySide\PreferExternalManifest (DWORD) to 1

Next, a manifest file with the same name as the executable must be present in the same folder as the executable. The file is named eclipse.exe.manifest and consists of:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3">
    <description>eclipse</description>
    <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
        <security>
            <requestedPrivileges>
                <requestedExecutionLevel xmlns:ms_asmv3="urn:schemas-microsoft-com:asm.v3"
                               level="asInvoker"
                               ms_asmv3:uiAccess="false">
                </requestedExecutionLevel>
            </requestedPrivileges>
        </security>
    </trustInfo>
    <asmv3:application>
        <asmv3:windowsSettings xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">
            <ms_windowsSettings:dpiAware xmlns:ms_windowsSettings="http://schemas.microsoft.com/SMI/2005/WindowsSettings">false</ms_windowsSettings:dpiAware>
        </asmv3:windowsSettings>
    </asmv3:application>
</assembly>
Community
  • 1
  • 1
elysch
  • 1,846
  • 4
  • 25
  • 43
1

If you do not want to install a newer version of eclipse

As mentioned here, in the eclipse.init file add -Dswt.autoScale=exact after the -vmargs and you are good to go.

Here exact scales the icons to the native zoom. But you will have to adjust with the blurred and jagged icons.

HeXMaN
  • 113
  • 1
  • 11
0

Here is my solution Inspired by @Sigh's solution (this one doesn't use maven):

https://github.com/gitAmrit/EclipseIconEnlarger/tree/master#eclipseiconenlarger

This works by searching for all images smaller or equal to 16x16px and scaling them up by whatever factor the user wants.

running the utility: java images.EclipseIconEnlarger eclipseBasePath magnificaitonfactor

eg: java images.EclipseIconEnlarger C:\Users\Amrit\Codes\eclipse 2

eclipseBasePath = path where eclipse.exe is located, for e.g. C:\Users\Amrit\Codes\eclipse magnificationfactor = factor by which the image should be enlarged, for e.g. 2 = double

akhadka
  • 21
  • 2
0

Here's another command line solution, but this works for Windows.

It requires winrar installed (edit the set winrar line to point to the winrar installation).

It also requires imagemagick to be installed and its path to be added in your commandline.

One last comment is I recommend running this before opening Eclipse for the first time (ie, fresh install). There are icons that get automatically unpacked from jars and saved in eclipse/configuration/org.eclips.osgi/... (potentially among other folders) and editing the .jar file prevents the icon from being resized. You might be able to delete this folder and it might autoextract again, but I can't confirm.

To run, just create a doubler.bat file in your eclipse/plugins directory and it should resize any icon smaller than 32x32 to that proportioned size.

Here's the code:

@echo off
set winrar="C:\Program Files\WinRAR\winrar.exe"
set startpath=%~dp0

::All *.jar in this folder
FOR %%G in (*.jar) do (call :EachJar "%%G")

GOTO :eof

:EachJar
  ::echo %1
  set nameWOQuotes=%~1
  mkdir "tmp\%nameWOQuotes%"
  ::copy "%nameWOQuotes%" "tmp\%nameWOQuotes%.bak" >NUL
  %winrar% x -inul "%nameWOQuotes%" *.jpg *.gif *.png *.tif *.tiff "tmp\%nameWOQuotes%\"
  ::pause
  cd "tmp\%nameWOQuotes%"
  FOR /R .\ %%H in (*.jpg *.gif *.png *.tif *.tiff) do ( 
    ::echo %nameWOQuotes%-%%~nxH >> "%startpath%\output.txt"
    identify "%%H" >> "%startpath%\output.txt"
   convert "%%H" -resize 32x32^< "%%H" )
  %winrar% a -r -u "%startpath%\%nameWOQuotes%" "*"
  cd "%startpath%"
  rmdir /s /q "tmp\%nameWOQuotes%"
Goto :eof

It creates a file output.txt and inserts all the ORIGINAL images metadata before it is converted, regardless of whether or not it changed size.

0

I had this problem when I changed my default Windows 10 language from Eng to Italian, with Eclipse being installed when default language was Eng. Reverting Windows language to Eng and rebooting solved the problem. I don’t know what’s happened, Windows rename some folders like C:\Users translating it in your default language (i.e. C:\Utenti) and maybe this is causing problems.

carlo.polisini
  • 306
  • 4
  • 10
-1

Jae's above solution worked for me. The manifest solution didn't work for me. Thanks Jae.

Setup:On my windows 8.1 64 bit non tablet laptop I downloaded eclipse 64 bit with jdk 64 bit.

  1. Right mouse click on desktop to access screen resolution and lowered the screen resolution display from 3000 level to 2048 x 1152.
  2. Click on make text and other items larger or smaller link and changed it to large 150% instead of extra extra large - 250%.
  3. Logged out and Logged back in.
  4. Restart Eclipse and the icons are now visible even if it is a bit smaller, but much more legible now.