Friday, January 1, 2016

[WIP] Tilandis: It's like TileCreator Proxy, but better.

DOWNLOAD HERE: http://ift.tt/1Srj7in

Tilandis
A drop in replacement for TileCreator Proxy

Overview
TileCreator is one of several UWP apps designed to allow you to pin custom tiles to your start menu. The way these apps work is they launch a companion app (in TileCreator's case, TileCreator Proxy) that's associated with a specific protocol, and that companion app is what actually launches programs.

The problem is, while TileCreator itself works well, TileCreator Proxy is terrible. This isn't intended to be a jab at the developer, but let's be real - having to use .lnk or .bat files for half your programs isn't exactly the best experience.

The base problem here is working directories: Many programs assume their working directory will always be the directory they've been installed to. In most cases, they're right, since Windows shortcuts (.lnk) use the directory of the executable as the default working directory. TileCreator Proxy, however, launches processes within its own working directory, which is some space directory in the middle of absolutely nowhere sensible. I've mentioned this to the developer, and it hasn't been fixed, and now that developer hasn't logged in since November. It's incredibly likely that the developer has real life problems that he's prioritized over his development work. And I can't blame him. But this problem needed fixing, so Tilandis is here to fix it.

Project Status
What Works:
  • Link management
    • Creating links
    • Deleting links
    • Replacing existing links (with -f)
    • Launching links
  • Protocol registration (so you can use it with TileCreator)
  • Arguments and working directories (including automatically defaulting to executable's directory)
  • Command line interface
What's Planned (but doesn't work yet)
  • The GUI (command line only for now, or just open the links.json file in a JSON editor if you've got one)
  • Running links as administrator (there's actually a command line switch for this already but it doesn't do anything yet)
  • Link validation (at the moment, Tilandis just accepts stuff willy nilly, which includes a few characters that aren't legal for filenames or link names. For now, it's up to you not to include the : or / characters in your link names.)
  • Automatically closing TileCreator behind you (this is probably incredibly easy, but I want the actual process name to be configurable and I haven't gotten around to implementing that yet)
  • Live tile companionry (waiting for a UWP implementation first)

Installation
  1. Go to the link at the top of the post, and download the latest version's .exe.
  2. This file is NOT an installer, it's the app itself. Place it anywhere you have write access to. C:\Users\Your_Name_Here, for instance, is a wonderful location for it.
  3. Open an administrator command prompt (or administrator PowerShell, not picky), and cd to wherever you put Tilandis.
That's it. Next section.

Usage
The basic procedure:
  1. Open a command prompt (this one doesn't need to be administrator) and navigate to where you put Tilandis. If you put it in C:\Users\Your_Name_Here, this may done for you if you use PowerShell.

If you need to specify arguments, you can specify them with -a (e.g. `-a "-sw -noborder"`). If you need to specify a working directory that differs from the default (if you're not sure, then no you don't), you can specify that too, with -w (e.g. `-w "C:\Program Files"`). These options go alongside the basic command line.

FAQ&FSS (Frequently Asked Questions and Frequently Said Statements)
Why should I use this over TileCreator?
You misunderstood the post. Read it again.

Can I use this with some other UWP app, like Better StartMenu?
Yes! Simply install the app, launch a tile with it, and see what Windows spits out. It should come up with "You'll need a new app to open this ." That "something" is the protocol you tell Tilandis to register with:
Code:

tilandis -r
Why should I use this (alongside something like TileCreator) over some program that uses visualmanifests.xml?
At the moment, no particular reason besides subjective preferences (and maybe you don't need jump lists). The TileCreator developer announced that he plans to implement some sort of live tile abstraction, however, and if that requires some sort of companion app, I will gladly implement it into Tilandis.

Are you going to make a UWP (Metro) app to go with Tilandis?
Doubtful. In my opinion, the UWP side of things is already well covered as it is, for being this early on in Windows 10's life. However, I might later just for the laughs, or if nobody ever gets around to implementing live tiles. If I do implement one, I'll look into throwing in jump lists too while I'm at it (because hey, jump lists).

Is it buggy?
I've been using release builds alongside TileCreator as my daily driver for start tiles since I first got link launching to work. I've had no problems.

I'm getting an error (or maybe more than one) about some MS or VC DLL missing.
You're missing the 2015 VC++ redist. Make sure you install the 64 bit one, this is a 64 bit application.

Wait what? Why is it a 64 bit app?
It's 2016. If you're on a 64 bit processor, you should be running a 64 bit OS by now. 32 bit emulation is 1:1 perfect, and Windows hasn't had 16 bit applications since it ran on top of DOS, so there's no reason you should need a 32 bit OS on a 64 bit processor. If your processor is only 32 bit, you're officially retrocomputing.

I've actually got some reason to be running a 32 bit OS.
The source is on GitHub, under the MIT license unless I find one I like better. It's the whole solution, just clone the repo, open it in Visual Studio 2015, set it to x86 and press F7. I don't do anything bizarre with my solution or toolchain, should just spit out a 32 bit Tilandis.exe. You can even build it on a 64 bit computer for a 32 bit system.

Please note that bugs that only occur when running a 32 bit build of Tilandis will not be fixed. They are, however, extremely unlikely.

Does it support URLs? Non-executable files?
Yes. Internally, it just feeds the path, args, and working directory to ShellExecute(), so it should be able to launch nearly anything you can double click on in File Explorer with its appropriate program, or open any URL you feed it.

As an example, to launch TF2 through Steam:

I looked at your source code, it's terrible.
I never claimed it was good code, I just claimed I had better functionality. But C++ is definitely not my forte, since my native programming language is Python. And I was stoned for a lot of this project. But it works, and I'm honest about it (even though it's only my word for it), so in the end I still get at LEAST a C+ for this.


via xda-developers http://ift.tt/1Srj9Xr

IFTTT

Put the internet to work for you.

Turn off or edit this Recipe

No comments:

Post a Comment