Eclipse IDE scaling on Multi-Monitor with different resolutions - eclipse

I current have 3 monitors and was looking for a solution to fix the scaling between a 4K monitor and a 1080p monitor.
Most applications scale when switching monitors but Eclipse doesn't. The font is either large in 1080p or small in 4k. The zoom function sets the size for the whole application and not a single window.
Edit : I am using Eclipse Oxyen on Windows 10

I can think of two ways to go about this.
Windows 10
Customize the scaling of each monitor.
Go to Windows Settings > System > Display page.
Select the display to customize.
Scroll to the Scale and layout section.
Choose the % of the Change the size of text, apps, and other items option.
Repeat for each monitor as desired.
Eclipse IDE
Customize the CSS of themes.
Close Eclipse.
Edit the desired theme: $ECLIPSE_HOME/plugins/org.eclipse.ui.themes_XXX/css/**/*.css
Restart Eclipse.
CSS has multiple ways of specifying font size. Supposedly there is even a means to size fonts relative to screen resolution. You'll have to play with Eclipse's CSS engine to see what it supports.

Related

Can I increase UI scaling in eclipse on Mac?

I've spent some time already searching for an answer. I know that I can increase the text size in an open file, but is there any way to increase the overall UI scaling? I have a large monitor so I can utilize multiple applications in my workflow, but the size of the application text and icons is so small that it's totally unusable.
Here is a comparison between Eclipse on the left and IntelliJ on the right on my screen:
I scaled IntelliJ on the right to be the perfect size, easily, but Eclipse on the left is way too small to effectively work with it.
I've tried removing a line indicating small text in the eclipse.ini file but that didn't change anything.
Given how poorly my search has turned up already, I assume the answer is 'no'. This leads me to ask, how is this possible? How can such a sophisticated and popular application not be able to change the UI scaling? I feel as though there must actually be a reasonable explanation because this is just plain absurd. This can't be passed off as a legitimate piece of software in this day and age without flexibility on screen size.
Thank you.
EDIT: *
I'm still unable to update the size of the UI icons. I've searched through numerous other issues going through the "-Dswt.autoScale=200" options in the elipse.ini setting but this is not working on Mac. Anyone able to assist here? Thank you!
The "Tree and Table font for views" setting in the "General > Appearance > Colors and Fonts" page of the Preferences sets the size of Project Explorer view. That entry is in the "View and Editor Folders" section.
Icons are only scaled if the display is set up as scaled by x2 or x1.5.

very small fonts and icons on 4k screens

I'm using CFeclipse on Windows 10 OS.
With the adaptation of new 4k resolution laptops. Eclipse displays small icons and fonts. Its also reported as a bug in https://bugs.eclipse.org/bugs/show_bug.cgi?id=451693.
The mentioned bug has been fixed, Eclipse automatically scales images on high-DPI monitors on Windows since Eclipse Neon (4.6). So, make sure your Eclipse IDE is up to date.
If upgrading does not fix your issue, in eclipse.ini add the following line below the line -vmargs (see Tweaking SWT's auto-scaling):
-Dswt.autoScale=200
(In contrast to the compatibility mode of Windows, this is the way to get the double-resolution icons.)
To solve the problem in Windows 10.
Right click Eclipse Icon
Select Properties
Compatibility Tab
Under Settings Section check
Override High DPI scaling behaviour. Scaling performed by.
Select System.
Then Apply or Ok
I haven't encountered it yet in other application but this solution might also work for other apps that displays small icons and fonts.
This solution also works in Ultraedit,FastStone capture
The steps also helps for Coldfusion installer that appears too tiny to be readable or other Application installer in a 4k screen that shows everything too small.
I was having problems with a Windows 10 RDP connection using a Surface Pro machine. A recent update made Eclipse virtually unusable.
This solution worked perfectly :
Right click Eclipse Desktop Icon
Select Properties
Compatibility Tab
Change high DPI settings
Override High DPI scaling behaviour. Scaling performed by. Select
System.
Then Apply or OK
I then had to slightly adjust the font size within Eclipse itself. I found I could use a slightly smaller font

Problems with 64bit Eclipse UI in Windows 8

All of the buttons for run, debug, new class, etc. are incredibly small and almost unreadable. I'm just wondering if there's a way I can get them to be larger. I'm new to eclipse and java and don't have much knowledge on the program or its settings.
This is typically controlled by your host OS settings. I don't have Windows 8, however on all other OS'es I've had to change the default system font to be larger to effect those used in the Eclipse UI.
Also there are some editor preferences in Eclipse itself that can modify some of these font sizes, however it's usually only the editor font, not the font used on controls.
edit:
I actually found a way to do this which is somewhat of an hack that's sort of detailed here https://stackoverflow.com/a/19675350/663367
Install the Eclipse 4 CSS Editor plug-in http://marketplace.eclipse.org/content/eclipse-4-tools-lightweight-css-editor
Go to the Preferences in Window > Preferences > General > Appearances, you should see a Theme selector, and then a big text area with some CSS-like annotations. By editing the CSS directly, you can increase the font size of pretty much everything, but Table Headers (my sole pet-peeve).

SWT Issue with Display settings of Windows

I have a fixed shell sized (800x600) application developed in SWT. The issue is, if I change the display settings of Windows ( from smaller - to medium/larger ) few parts of the application are being truncated.
So is there any way I can give dynamic size based on the selection of display settings ?
A fixed shell size is very seldom the right way to go. Instead, use the layout to set the constraints and let SWT figure out the size. That will make it more likely that dpi changes will work correctly and more likely that the app will look correct on other operating systems or different versions of Windows.

Eclipse: large toolbar icons

Does anybody know how to use large toolbar icons? Edit: How do I do it?
At first, close eclipse and be sure it is closed.
Than edit eclipse.ini and add the following lines:
-Dswt.enable.autoScale=true
-Dswt.autoScale=150
-Dswt.autoScale.method=nearest
The -Dswt.autoScale=150 will increase your Icons, 150 will say 150%. If it is not enough, increase it or decrease it otherwise.
Here is what to do for an easy solution:
Go to the start icon of your eclipse or PLCXpressoand
Click your right mouse bottom
Go to down and click properties
Click compartibility
Check overwrite high DPI scaling
Select system (enhanced)
Click OK at the bottom
Start Eclipse and enjoy
There is no support in Eclipse for large/small icons in the toolbar.
As this bug describes:
The other issue though is really that the GNOME toolbar style, similar to Mac OS X, is for a small number of large icons, while the Eclipse toolbar style is for a large number of quick-access buttons.
This means that the recommendations for, say, icons vs icons+text don't really apply to the Eclipse toolbar.
Update 2016 (5 years later)
Since 2011, you have some workarounds, like this answer referring to davidglevy/eclipse-icon-enlarger, which double the size of the icon in the eclipse main jar.
You have more instructions at PhantomYdn/eclipse-icon-enlarger.
You have the same idea (double the size of icons) implemented as a script (here is an gene1wood/scale_eclipse.sh)
But if the issue is poor (too small) resolution on HiDPI / Retina displays, try also the actual official Microsoft workaround (as illustrated here)
regedit:
HKEY_LOCAL_MACHINE > SOFTWARE > Microsoft > Windows > CurrentVersion > SideBySide: create a DWORD PreferExternalManifest set to 1.
Beside eclipse.exe, create an eclipse.manifest file with, as content, one similar to this article.
CLICK HERE TO VIEW SCREENSHOT
I have searched and searched for weeks for a solution to this problem If you want to solve it go to your eclipse folder and *.png search. Resize all the icons from 16x16 to 32x32 Then do the same for *.gif.
As you can see in the image I have not finished the task but it does work if you want to put in the time. I am sure there is an easier batch method of doing it I am sorry I have not found that yet. Just in case anyone is still using eclipse (which I prefer) and wanted larger toolbar icons there you go.
EDIT: I found an easy to use batch tool called Fotosizer. It remembers all the icons file locations when you drag and drop your *.png *.gif found files into the image selection area. Just set up the options for sizing and set the output like the image I just uploaded. If 32x32 is too big for you just make them a little smaller. Fotosizer Click Here I used the free version.
Screenshot Click Here
Be sure when you do your search to right click and sort the images by dimensions to make it easy for you to find all the 16x16 files in a group. This is in windows 7 64 bit version and RapidClipse Version: 2.3.1.201607130701
Take care,
Barry
I solved it on Linux by appending this line to eclipse.ini:
-Dswt.autoScale=200
See the original answer on reddit: https://www.reddit.com/r/archlinux/comments/61zsds/eclipse_neon_on_hidpi_screen_and_plasmaa_5/
In 2022 on linux with an UltraHD display:
set your system as zoom 100% (forget 200% or fractional hacks, it's slow and buggy)
only use font scaling : gsettings set org.gnome.desktop.interface text-scaling-factor 1.5
To launch Eclipse (with perfect text and icon size) from terminal, use :
GDK_SCALE=2 GDK_DPI_SCALE=0.5 ./eclipse
I can't comment, because <50 reputation points.
I refer to the method of resizing the images to let's say 32x32.
I wrote a little python script, in case someone might be interested.
It changes the size of all .gif and .png to 32x32.
Use on your own risk :)
#!/usr/bin/python3
# -*- coding: utf-8 -*-
import os
from PIL import Image
for path,dirs,files in os.walk(r"D:\win7\apps\renesas_e2_studio\eclipse"):
for f in files:
uri = os.path.join(path,f)
for t in ".gif .png".split(" "):
if uri[-4:] == t:
img = Image.open(uri)
img = img.resize((32,32))
img.save(uri)
print(uri)
print("FINISHED")
add -Dswt.autoScale=150 in eclipse.ini, is working for my hybrid win10 12.3"
Thanks to Markus B
Running Eclipse 2020-09 R (i.e, v4.17) on Linux (openSUSE Tumbleweed with XFCE session) on an HP Spectre x360 with 283 dpi, I found that out of the box the fonts were fine but the icons were unreadably tiny. Also, setting -Dswt.autoscale=300 in the eclipse.ini made the icons look perfect but completely disrupted the layout and functionality of SWT (couldn't click on tabs, many texts were unreadably clipped). So I had to resort to the method of scaling all of the icon files. Here's one way to automate it.
After running eclipse for the first time (since that first run unpacks a lot of icons), go to the top-level eclipse directory (the one in which the eclipse executable resides), and enter xonsh (the python-based shell) in that directory. Then you can execute the following commands (at your own risk), for example by copy-pasting them at the prompt:
pngl = $(find . -name "*.png").strip().split("\n")
for png in pngl:
if not ('#2x' in png):
print(f"Found icon {png}, moving...")
pngo = png.replace('.png','-orig.png')
mv #(png) #(pngo)
pngbig = png.replace('.png','#2x.png')
if pngbig in pngl:
print(" ...has enlarged, scaling that by 150")
convert #(pngbig) -resize 150% #(png)
else:
print(" ...no enlargement, scaling orig by 300")
convert #(pngo) -resize 300% #(png)
Of course if you wanted a different basic scaling factor, say 250%, you would change the 150% scaling of the double size icon in the pngbig branch to 125% and the 300% scaling of the original-size icons in the other branch to 250%.
In case you use STS 4, edit SpringToolSuite4.ini instead with the properties suggested by #Frank
-Dswt.enable.autoScale=true
-Dswt.autoScale=150
-Dswt.autoScale.method=nearest