Creating activitybar Icons for VS Code - visual-studio-code

I have been trying numerous editors, from Inkscape, to online converters, to MS store apps, etc.
All I'm trying to do is find an easy way to create either transparent PNG files or SVG files for the activitybar icon inside of VS Code for an extension I'm working on.
Everything I've tried either totally warps the dimensions of what I create and seems to blow the image way up inside the activity bar, even though the files I'm saving as PNG are all 128px x 128px with 32 bit depth, same as another that ships with examples from https://github.com/Microsoft/vscode-extension-samples/tree/master/tree-view-sample
What I see in VS Code after specifying the path in the extension package.json:
What I am trying to get it to look like:
I've tried using SVG viewer plugins for VS Code as well, and sometimes the SVG's I've used don't even show up, even though an item does exist in the activity bar when I hover over the position it should be in.
Any modicum of help would be appreciated.

Related

Flutter - Deformed/overflowing custom icons using FlutterIcon.com

I have a few custom icons (11 to be exact) that I added to my project using Flutter Icon. For most of these icons, everything is working as expected:
However, some of them just overflow out of their intended size, or are given a wrong size. No idea what the problem is, but here is how it looks like:
as you can see, the right side of the infinity loop is just hanging outside of its intended container (button). Also, if I try to be hacky and resize only the infinity icon, it appears to be offsetted to the right.
I can be hacky and create a custom size for the couple of troublesome icons, but I would like to know if there is something that I, or my designer (also me) can do to fix this properly.
Already Tried:
Converting to compound path.
Removing unnecessary tags such as <style> tags.
Using flutter_svg package. This works okay, but it seems to be less performant that the Flutter Icon method. My app has quite a few animations running at the same time, and animating a SvgPicture is a little bit janky.
So I haven't been able to find out why the problem is happening, but I found out how to fix it.
After uploading your custom icons' svg's into FlutterIcon you'll download a .zip file. This file contains a bunch of files, including a .ttf file, which is a font file that contains your icons. You will need to manipulate the symbols/icons in that file in order to fix the issue.
To modify the faulty symbols, you will need to download some font editing application. FontForge does the trick. Download it and open the .ttf file you got from FlutterIcon from it. Once you have it open, you'll see a window full of squares with Xs in them. These are the font's glyphs.
You now need to find the glyphs with your icons. To save yourself from a LOT of scrolling, you can go to Encoding -> Compact from the toolbar. This will hide all unused (empty) glyphs. You should now be able to see all your icons. You should have something like this:
Right click the symbol you want to fix, and click Transform.... You will then be prompted with a menu that will let you transform the symbol in anyway you want. Apply transforms on all your faulty icons until you are satisfied. Transform window looks like this:
Once you have finish all your modifications, got to File -> Generate Font.... Select the destination folder and the file name (make sure it has the same name as the .ttf file generated from FlutterIcons). Also make sure you the TrueType file type from the first dropdown menu:
Once you're done, click generate, and voila! Now you have the .ttf file with the correctly-shaped icons. If you still find that something is wrong with the icons, you can rinse and repeat this process until you're satisfied with the result.

Richer TreeView Experience in VS Code Extension

I am trying to determine if its possible to provide a "richer" experience when using TreeViews in a VS Code extension. The default explorer view has the ability to do things provide custom text coloring for items (such as red when a file has an error or yellow if its been changed). However, the only highlight I can seem to find in TreeItems is only able to highlight text in an item without control over color but only select when the highlight starts/stops.
I would really like to take advantage of the same tree experience provided by the VS Codes extensions view but it does not seem to be restricted by the same API as other extensions (makes sense).
Any recommendations? I am considering just doing a webview that holds my own "TreeView" but wanted to see if there are other options before going down that rabbit hole.

How to draw on the background in a vscode extension?

Is it possible to make an extension that draw lines on the background? You can decorate a lot of thing but I can't find a way to draw colored lines.
I would like to see the flow of my data (inspired by visual programming).
Something like that (but the like drawn under the text) :
Keep in mind vscode is an add-on to Electron, which is a webbrowser in a desktop raiment. So what you see are webpages and hence everything what's possible on a webpage (with a node.js basement) is also possible in vscode - at least in theory. I say "in theory" because after all vscode is a text editor and limits interaction in a way that supports this goal. So, what you can is either some drawing/graphics or add extensions that work in normal editor pages. You certainly don't want to write your own text editor interface within vscode.

Change the layout of an existing GTK2 application

For my daily work I use Xournal to take notes with my ThinkPad X220 Tablet's pen input. The inconvenient thing is that even in full screen there are two toolbars at the top of the screen. It looks like this:
I have the page on roughly 100% actual A4 paper size. There is unused area on the left and right as this is a 16:9 screen. The digitizer is also non-linear on the left and right screen edges, so I like to stay clear of that when writing.
With the current setup I have only so much height. The toolbars could move to the left or right to give more height, like so:
Each icon would be oriented normally, I just did not do that in the quick mock-up.
I cloned the git repository and found a xournal.glade file as well as src/xo-interface.{c,h}. The version of Glade on Fedora 23 complains about the old format of the .glade file so I converted it with gtk-builder-convert xournal.glade xournal-new.glade and was able to open the new file.
My only GUI experience is with Qt and Qt Designer. I looked into the UI widgets and found the layout contains which I can set from “horizontal” to “vertical”. The whole window is contained in a “vbox”. So in the XML code of the original, non-converted xournal.glade file I changed the HORIZONTAL to VERTICAL and vbox to hbox. When I recompile the project with make the UI looks just the same.
I thought that I perhaps have to generate some C code from within Glade but could not find anything. The Makefile apparently did not invoke anything that would convert it to C code.
How can I get the UI change to manifest in the new compilation?
Update 2016-05-15
Now I have a bit more time to dig into this. First I found out that xournal.glade is not really used within the compilation process. Changing anything there did not affect the program. Running strace src/xournal on the compiled version I saw that it did not use any .glade file there. Therefore the UI must be compiled into the program. This step cannot be automatic, I did not find anything in the makefiles.
On Fedora 23, opening xournal.glade results in many errors, deprecation warnings and so on. It took me until today to realize that I can install glade-2 and open that. This worked flawlessly. I could change the sorting order and replaced the layout to flow the other way around. The export feature updated src/xo-interface.c and after compilation I actually saw the changed version:
This is just what I want! Now I would have to see whether there is anything I could do to change this at run-time and make it a feature addition instead of just an incompatible fork.

Change order of images in icon file

Is there an app that can change the order of images inside an icon?
Thanks!
What you'll need to do that is a resource editor. A google search will reveal many free ones out there. The restorator is a great one, but not free and over-priced IMO.
Any decent resource editor will allow you to see icons in the exe or dll and save them or replace them. I don't know of any that will allow you to reorder them, but just about any out there would allow you to save the icons out and then replace them back in the exe/dll in whatever order you'd like.
The only resource editor I know of that will allow you to re-order the embedded icons including png compressed vista icons is Resource Tuner Console.
You can change the image order using Pixelformer (an icon/bitmap editor). Import the icon, reorder the images as you wish, then export it back.
Using a resource editor is not an easy way to do this because you have to edit both ICON and ICON GROUP and I tried to do this with Resource Hacker and could not do it.
I found Easy Icon Maker is able to rearrange the order of the icons properly... it's the only icon editor that I found with this option, and I tried about half a dozen. The editor itself is not nearly as good as IcoFX (http://portableapps.com/apps/graphics_pictures/icofx_portable)
Why would you want to do this? Well there are certain times when Windows will use the first icon file that matches the size, but this may not be the color-depth that you want... for instance if you are on an older machine like Windows 2000 that doesn't support Alpha Channels then putting these at the beginning of your ICO file will cause Windows 2000 to try to render it so it results in black dots all over the image.