Coder Social home page Coder Social logo

u-c-s / hurl Goto Github PK

View Code? Open in Web Editor NEW
259.0 259.0 9.0 1.84 MB

Choose the browser on the click of a link

License: MIT License

C# 80.33% JavaScript 2.04% Inno Setup 17.24% PowerShell 0.39%
browser-chooser browser-extension browser-tools csharp named-pipes native-messaging windows wpf

hurl's Introduction

Hello there, I'm Chanakya

Working full time as a Backend Engineer, writing stuff in Clojure ๐Ÿค—. Trying to learn more about GPU programming for a year already.

hurl's People

Contributors

jay-o-way avatar rudolfschreier avatar u-c-s avatar war59312 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

hurl's Issues

Everything disappeared on startup

I have kept Hurl in startup folder,
after v0.6.3 update, all browser icons & toolbar icons disappeared, on hover they reappear

Hurl.mp4

Auto Routing Rules don't apply Launch Args

First off, thank you for the great program, it is designed so much nicer than other apps like it. ๐Ÿ‘

Here's my understanding of the issue โ€” in AutoRulesCheck.cs, the browser is started with this command:

Process.Start(x.ExePath, link);

It's missing the LaunchArgs part that is included elsewhere, such as BrowsersList.xaml.cs, there's some extra logic to include the LaunchArgs and apply them to the command:

Process.Start(browser.ExePath, Link + " " + browser.LaunchArgs);

For reference, my use case is this: I have a different Github account for my work, and a separate Chrome profile where I'm logged into my work Github. But when I click PR links in Slack, it randomly opens in either my default profile or the work profile (whichever one I most recently opened a tab in).

Building from Source improvements

I found that the Building from Source instructions in README.md were missing a couple of things.

First, After checking out the repo I needed to do a git submodule init to load the Wpfui project.

Second, I was getting a build error because the CommunityToolkit.Labs.WinUI.SettingsControls package could not be found. Eventually I figured out I could fix this by adding this package source in the settings of the NuGet Package Manager
https://pkgs.dev.azure.com/dotnet/CommunityToolkit/_packaging/CommunityToolkit-Labs/nuget/v3/index.json

v0.7 Planning - Anniversary Update

(Might release on Aug 4) Not all of the below list might make it to the final release planning, often might get postponed to later releases due to complexity involved in implementing.

  • #37
  • #36
  • #43
  • #44
    • Open window under mouse
    • Hotkeys support
  • Make the non-req. fields in UserSettings.json optional
  • #47

Explore

  • Update from App
  • #20
  • A separate binary file for getting the browsers list at intial launch (maybe using C++)
  • OOBE
  • Hurl Settings application with Tauri
  • Use icons from alrra/browser-logos instead of exe files at runtime. Though might wanna sacrifice the Browser profile specific icons.

Previous Version: #30

Slow Dragging Bug [Windows 10]

Hello! Thank you for your hardwork here, and the Hurl software really helped me a lot! I have yet to find any software like this (except Browser Select). I only found your software from the Browser Select GitHub page.

I found a bug. When you drag the Hurl UI in Windows 10, it lags when you hold and drag. I found a temporary fix with this for now. If you close the transparency in Windows 10 Personalize > Colors Tab, you will eventually have no lags when dragging. The only problem is if you want the transparency tab in Windows 10 along with no Hurl Lagging Drag since I use the transparency effect on my windows taskbar.

Thank you, and I really appreciate your effort in making Hurl :)

Non-functioning On Windows 10 [Version 10.0.19044.2130]

Hello,

Just a heads up that the latest update seems to not function at all on windows 10, it just refuses to launch entirely. I've been using the 7.0.0 Alpha prior to this just fine aside from some weird lag when moving the window which is no biggie but with the update it now doesn't even launch.

I've also made sure to update .Net 6 runtime.

Thanks for your time and take care!

Automatically install required .NET Desktop Runtime 7.0.9

After updating to v0.8 On Windows 11, I was prompted to update my .NET Desktop Runtime to 7.0.9 or later. The prompt included a button to update, but that didn't seem to do anything but close the window. Running winget install Microsoft.DotNet.DesktopRuntime.7 made easy work of silently downloading and installing the runtime. Perhaps the installer could do this automatically.

Acrylic Issues

Acrylic wont work for some win10 and win11 22H2 (even for me). The problem is with both WPF-UI lib that I use for Acrylic Support and Hurl having a Custom Window.

image

Fix or Workaround

if u experience the issue, paste the following code into the UserSettings.json. Make sure to do proper json formating for avoiding launch errors. (usually paste it above LastUpdated line)

"AppSettings": {
  "DisableAcrylic": true,
  "BackgroundRGB": [51, 51, 51]
},

In Future

Either

  • fix the error in the lib or atleast let it support proper fallbacks
  • simply avoid using acrylic for its poor WPF support
  • Look for alternatives (tauri or winappsdk or C++). All of them comes with their own limitations.

v0.2 Planning

The planning for this version is bit messy. Things are added and Removed bunch of times (Seperation of Project and unification). MVVM Architecture Pattern needs to be used, but my knowledge is lacking.

Features

  • New Settings UI
    • Browsers list Editor
    • About Page
    • Debug Page ?
  • Installer (Alpha) #6

App Engineering

  • MVVM Architecture ? (Now or v0.3)

Hurl Settings App

Currently, configuration of Hurl means modifying a json file, which can be error-prone and unfamiliar to most.

I'm considering ease of development over consistent UI and codebase for the app frameworks.

[UPDATE 2022-12-07] Settings app with Tauri Idea is blocked, Going with C# WPF again

[UPDATE 2024-01-29] C#/WinAppSDK is a pain, this is back at the start once again, see this comment (#67 (comment))

v0.8 Planning

  • Polish the codebase for more approachable and readable code
  • #18
  • Hurl Settings Application
  • Early support for Keyboard bindings

Explore

  • Support detecting Browser Profiles
  • Support refreshing browser list
  • Better error handling methods and better modularity of code

NOTE: BREAKS COMPATABILITY PREVIOUS VERSIONS

I should be able to get back working on this from July 2nd week

probably ROADMAP ๐Ÿš€

As of v0.6.3, For me, the Hurl is almost fitting for all of my use cases. Additional features below might make this project more useful for any future users:

  • Proper Communication with Hurl Browser Extension
  • Context menu option Open this browser for next 10mins automatically
  • Better Icon retrieval methods (currently, Icons are taken at runtime from browser exe files)
  • Hotkeys Support (Partially)
  • Hurl Settings GUI
  • Fetching Browser profiles automatically
  • History upto 10 items
  • #18

I intend to work on those slowly maybe like spending a week per month or randomly. I believe Hurl will hit the v1 after v0.9 release at this rate.

EDIT (2023-02-10): About the Code Quality, I feel like It's a absolute mess. Inventing patterns, Frequent Refactors all over, reverting/reusing old good ideas..... I can only think of fixing all slowly as I learn and experience more of the language and framework. Maybe look about it for stable release.

EDIT (2024-03-20): Code quality for the newer Ruleset Manager is much better, Looking to Refactor Browser Selector now with similar patterns.

[BUG] App Crashes When trying to Copy URL on Windows 11

Hi,

I think there might have been a bug causing the application to crash on Windows 11 (Pro 22H2) when trying to press the "Copy URL" button multiple times. i.e. do a double click instead of single click.

The weird thing is that this issue doesn't occur on Windows 10; just wonder if there is any windows 11 feature would cause this.

I got this error from the System Logs upon application crash.

Application: Hurl.exe
CoreCLR Version: 6.0.1423.7309
.NET Version: 6.0.14
Description: The process was terminated due to an unhandled exception.
Exception Info: System.Runtime.InteropServices.COMException (0x800401D0): OpenClipboard Failed (0x800401D0 (CLIPBRD_E_CANT_OPEN))
   at System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(Int32 errorCode, IntPtr errorInfo)
   at System.Windows.Clipboard.Flush()
   at System.Windows.Clipboard.CriticalSetDataObject(Object data, Boolean copy)
   at System.Windows.Clipboard.SetDataInternal(String format, Object data)
   at System.Windows.Clipboard.SetText(String text, TextDataFormat format)
   at System.Windows.Clipboard.SetText(String text)
   at Hurl.BrowserSelector.Views.MainWindow.LinkCopyBtnClick(Object sender, RoutedEventArgs e)
   at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
   at System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
   at System.Windows.Controls.Primitives.ButtonBase.OnClick()
   at System.Windows.Controls.Button.OnClick()
   at System.Windows.Controls.Primitives.ButtonBase.OnMouseLeftButtonUp(MouseButtonEventArgs e)
   at System.Windows.UIElement.OnMouseLeftButtonUpThunk(Object sender, MouseButtonEventArgs e)
   at System.Windows.Input.MouseButtonEventArgs.InvokeEventHandler(Delegate genericHandler, Object genericTarget)
   at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
   at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
   at System.Windows.UIElement.ReRaiseEventAs(DependencyObject sender, RoutedEventArgs args, RoutedEvent newEvent)
   at System.Windows.UIElement.OnMouseUpThunk(Object sender, MouseButtonEventArgs e)
   at System.Windows.Input.MouseButtonEventArgs.InvokeEventHandler(Delegate genericHandler, Object genericTarget)
   at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
   at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
   at System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
   at System.Windows.UIElement.RaiseTrustedEvent(RoutedEventArgs args)
   at System.Windows.Input.InputManager.ProcessStagingArea()
   at System.Windows.Input.InputProviderSite.ReportInput(InputReport inputReport)
   at System.Windows.Interop.HwndMouseInputProvider.ReportInput(IntPtr hwnd, InputMode mode, Int32 timestamp, RawMouseActions actions, Int32 x, Int32 y, Int32 wheel)
   at System.Windows.Interop.HwndMouseInputProvider.FilterMessage(IntPtr hwnd, WindowMessage msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
   at System.Windows.Interop.HwndSource.InputFilterMessage(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
   at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
   at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
   at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
   at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
   at System.Windows.Threading.Dispatcher.LegacyInvokeImpl(DispatcherPriority priority, TimeSpan timeout, Delegate method, Object args, Int32 numArgs)
   at MS.Win32.HwndSubclass.SubclassWndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam)
   at MS.Win32.UnsafeNativeMethods.DispatchMessage(MSG& msg)
   at System.Windows.Threading.Dispatcher.PushFrameImpl(DispatcherFrame frame)
   at System.Windows.Threading.Dispatcher.PushFrame(DispatcherFrame frame)
   at System.Windows.Threading.Dispatcher.Run()
   at System.Windows.Application.RunDispatcher(Object ignore)
   at System.Windows.Application.RunInternal(Window window)
   at System.Windows.Application.Run()
   at Hurl.BrowserSelector.App.Main()

Acrylic Weirdness

Hello again,

First here's what I'm seeing, image.

I read #57 but I cannot tell if your screenshot is showing the same thing or not. I would prefer Acrylic over Mica, but it's not the biggest issue so don't consider this blocking - either look better than this haha.

Windows 11 22621.1555

My config:
{
  "LastUpdated": "4/6/2023 8:59:49 PM",
  "Browsers": [
    {
      "Name": "Vivaldi",
      "ExePath": "C:\\Program Files\\Vivaldi\\Application\\vivaldi.exe"
    },
    {
      "Name": "Opera GX Stable",
      "ExePath": "\u0022C:\\Program Files\\Opera GX\\Launcher.exe\u0022"
    },
    {
      "Name": "Brave",
      "ExePath": "C:\\Program Files\\BraveSoftware\\Brave-Browser\\Application\\brave.exe",
      "Hidden": true
    },
    {
      "Name": "Firefox",
      "ExePath": "C:\\Program Files\\Mozilla Firefox\\firefox.exe",
      "Hidden": true
    },
    {
      "Name": "Google Chrome",
      "ExePath": "C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe"
    },
    {
      "Name": "Microsoft Edge",
      "ExePath": "C:\\Program Files (x86)\\Microsoft\\Edge\\Application\\msedge.exe"
    }
  ],
  "AppSettings": {
    "LaunchUnderMouse": true,
    "NoWhiteBorder": true,
    "BackgroundType": "acrylic",
    "WindowSize": [
      560,
      220
    ]
  },
  "AutoRoutingRules": []
}

.NET 8 Desktop Runtime dont support?

Hello, I've upgraded my computer 's .NET Desktop rumtime from 7 to 8, and Hurl said that it should run under .NET 7 environment.

Will Hurl support .NET 8 in the future?

Weird looking main window

Hi!
Got a weird looking main window.
How it should be:
image
How it looks like:
image
Version 0.8 on Version 22H2 (OS Build 22621.2134)

The gray bar on the top is because of
image
Would be nice to make it wider to match the buttons on the right.
But why it's not transparent like on official screenshot?
Transparency option is on in windows settings.
But changing windows theme to light doesn't change Hurl window theme.

Support for other web protocols

Discussed in #72

Originally posted by Clemens-Ratte-Polle July 22, 2023
idea:
Hurl could open all web protocols like mailto: etc. with Outlook, Thunderbird.

Unable to run Hurl on W10

Hi!

I'm having issues with running Hurl...

My system:

  • i7-8700K, GeForce GTX 1070 Ti, 16GB RAM
  • Microsoft Windows 10 Pro (10.0.19044)

The installation process:

  1. Downloaded and installed .NET 6 Desktop Runtime x64.
  2. Installed Hurl from release v0.6.1 on default folder.

Issue: Tried to run Hurl but nothing happened:

  • When executing Hurl from the exe file: No window is open, the user settings file is not generated on %APPDATA%.
  • Hurl is listed on default browsers (and was selected) but opening links don't produce any outcome.

Is there any step missing in the installation process? Is any other dependency/library required?

v0.9 Planning

  • Improve the build scripts and process
  • #120
  • Include app and browsers settings in Ruleset Manager and Rename it to Hurl Settings
  • Custom Keyboard shortcuts
  • BREAKING CHANGE: use dictionaries for Browsers, instead of Array of Objects

As part of v0.8.x updates

  • Error handling
  • #86
  • Ruleset Manager (in place of Hurl Settings Alpha)

Abandoned (will come back to in later versions)

  • Explore Improving app startup time
  • Explore migrating to WinAppSDK 1.5 from WPF-UI
  • Hurl Settings Alpha for editing Rules (See comment #67 (comment))
  • Include Hurl Settings alpha in Installer
  • Better UI for quick adding Rules
  • Detect Profiles for Chromium browsers
  • Browser Extension #20
  • Explore #66

v0.5 Planning

  • Document the settings file editing
  • Include credits in Readme
  • Deprecate WPF Hurl.Settings
  • Use WPFUI for Acrylic background and Updated Controls
  • #25

Explore

Fix Issues

  • Automatically close Hurl on Selecting a browser
  • Fallback to support Win10
    • Rounded Corners to Square corners

Others

  • Rename tag v0.5.0-alpha-1 to v0.5.0-alpha

In Next versions

  • Online Schema for json settings file
  • Update Context Menu UI and add additional utility features into it
  • Background service (example) (We use trays instead)

Put on hold

  • Minimal installation mode (doesn't include Hurl settings)
  • MVVM Architecture
  • Testing

Setting the custom icon to an ico file yields low resolution image

When selecting an image file for the CustomIconPath, the icon is loaded as a bitmap and defaults to a low resolution even though the icon file has a high resolution.

This could probably be easily resolved changing the following lines:

if (!string.IsNullOrEmpty(CustomIconPath))
{
return new BitmapImage(new Uri(CustomIconPath));
}
else if (!string.IsNullOrEmpty(ExePath))
{
Icon RawIcon = ExePath.StartsWith('"'.ToString())
? IconExtractor.FromFile(ExePath.Substring(1, ExePath.Length - 2))
: IconExtractor.FromFile(ExePath);
return IconUtilites.ToImageSource(RawIcon);

To

                if (!string.IsNullOrEmpty(CustomIconPath) && CustomIconPath.EndsWith(".ico"))
                {
                    Icon RawIcon = new System.Drawing.Icon(CustomIconPath,-1,-1);
                    return IconUtilites.ToImageSource(RawIcon);
                }
                else if (!string.IsNullOrEmpty(CustomIconPath))
                {
                    return new BitmapImage(new Uri(CustomIconPath));
                }
                else if (!string.IsNullOrEmpty(ExePath))
                {
                    Icon RawIcon = ExePath.StartsWith('"'.ToString())
                                ? IconExtractor.FromFile(ExePath.Substring(1, ExePath.Length - 2))
                                : IconExtractor.FromFile(ExePath);


                    return IconUtilites.ToImageSource(RawIcon);

also the substring method of the ExePath could be changed to using Trim() for better readability

                    Icon RawIcon = IconExtractor.FromFile(ExePath.Trim('"'));

Notes for the -1, -1 size of the icon, please see this StackOverflow post:
https://stackoverflow.com/questions/35081239/how-to-retrieve-the-largest-available-image-from-an-icon-file-using-c-sharp

Note: This is untested right now, it was just a thought.

The reason I though of this is because I am setting my profiles as different browsers, and MSEdge creates a Profile icon for each profile: %USERPROFILE%\AppData\Local\Microsoft\Edge\User Data\Default\Edge Profile.ico

Alternate option for Brave is not working (Bug)

this is my UserSettings.json and Hurl is not opening! if I use the alternate launch option for Chrome then its fine :(

{
  "LastUpdated": "24-Aug-23 18:55:33",
  "Browsers": [
    {
      "Name": "Brave",
      "ExePath": "C:\\Program Files\\BraveSoftware\\Brave-Browser\\Application\\brave.exe"
      "AlternateLaunches": [
        {
          "ItemName": "Profile 1",
          "LaunchArgs": "--profile-directory=\"Default\""
        },
        {
          "ItemName": "Incognito",
          "LaunchArgs": "-incognito"
        }
    },
    {
      "Name": "Firefox",
      "ExePath": "C:\\Program Files\\Mozilla Firefox\\firefox.exe"
    },
    {
      "Name": "Microsoft Edge",
      "ExePath": "C:\\Program Files (x86)\\Microsoft\\Edge\\Application\\msedge.exe"
    }
  ]
}

Possible issue with firefox profiles

This could just as easily be my personal failings with code, but I can't get hurl to work with opening any of the firefox profiles I have whether as alternate launches or just as separate browsers. ๐Ÿ†˜

Here is the code as separate browser:

{
  "LastUpdated": "20/12/2023 12:45:39 PM",
  "Browsers": [
    {
      "Name": "Firefox",
      "ExePath": "C:\\Program Files\\Mozilla Firefox\\firefox.exe"
     },
{
"Name": "Firefox - downloading",
"ExePath": "\"C:\Program Files\Mozilla Firefox\firefox.exe\" -P downloading"
},

    {
      "Name": "Microsoft Edge",
      "ExePath": "C:\\Program Files (x86)\\Microsoft\\Edge\\Application\\msedge.exe"
    }
  ]
}

and here is it as an alternate launch:

{
  "LastUpdated": "20/12/2023 12:45:39 PM",
  "Browsers": [
    {
      "Name": "Firefox",
      "ExePath": "C:\\Program Files\\Mozilla Firefox\\firefox.exe"
      "AlternateLaunches": [
        {
          "ItemName": "downloading",
          "LaunchArgs": "-P downloading"
        }
		]
     },

    {
      "Name": "Microsoft Edge",
      "ExePath": "C:\\Program Files (x86)\\Microsoft\\Edge\\Application\\msedge.exe"
    }
  ]
}

Please help!

v0.3 Planning

  • Remember and Store Settings
  • Project Restucture #13

Postpone

  • URL Patterns to open a specific browser
  • Migrate to .NET 6 (maybe)

v0.6 Planning

Explore

  • minimize to tray
  • single-instance application
  • History

Other

  • Exception handling and Showing Proper errors

Path with spaces

Hi,

When I try to open an HTML file with folder names containing space, it breaks the path in several chunks and open each with a different part of the path in a separate tab.

I think you can easily reproduce it.

v0.6.2 crashes when hovering over scrollbar

Hi,

I noticed that a scrollbar is shown when more than five browsers are configured and the width of the window is limited accordingly.

When I tried to scroll to the right to select the 6th browser, the app crashed once I hovered the cursor over the scrollbar.

Here are the logs:
hurl-crash1
hurl-crash2

I would also like to suggest a configuration option for the number of browsers that can be seen at any one time. The scrollbar solution is logical, but quite inconvenient, since it takes a lot more time to select a browser or application that is on the 6th or later position. Maybe an option to extend the maximum width of the window would be possible? Or better yet, using a second or even third row?

loads without transparency then exits

Hi I have been attempting to get this to work on my pc for a few versions and have hesitated to comment but it seems Hurl fails to load correctly on my PC. It will appear black rather than glass/transparent and when I hover the mouse over the scrollbar it will exit on its own. I'm not sure what is going on or why but I have attempted to install a number of versions of .NET but still no luck unless I have missed one.

Right now Browser Select seems vastly lighter and more stable but I still have hopes for this one since it reminds me of the OG Browser Chooser with a lot more potential.

kAMyLb9wpv

v0.4 Planning

ANNOUCEMENT (03-03-2022): THIS RELEASE IS PUT TO HOLD AND INSTEAD 0.5 WILL BE RELEASED SOON

  • UI Improvements and Polishing
  • Browser Arguments Features
    • Launch Arguments (d1fc63c)
    • as Context Menu Options, for lauching even more custom launches (let's call it - AlternateLaunches)

Other

  • Release .net6 version along with .netf48
  • Explore Fast Start-up
  • Add Application Screenshots in the README
  • Better UI Accessibility from Keyboard

Known Issues/Limitations

  • Might need to use MVVM Architecture for good implementation for Hide Browsers

Don't run in background/system tray

I would prefer if the program did not stay idle in the background and system tray at all times. I understand that the startup time for the program/UI can be long (I mean several seconds), and that the solution to this problem was to keep it loaded in advance. But I think it would be much better to just have an .exe with a more-or-less instant startup time (particularly for auto-routing rules).

If this isn't a design direction you're interested in going in, feel free to close this issue, no worries โ€” it's just my personal preference and user feedback.

Feature Request: Parameter in UserSettings and custom icons

Hi,

first of all: great App!

Sometimes I'm getting links to Office documents (Excel, PowerPoint, Word), that I would like to open directly in the respective app.

This is possible by using C:\Program Files\Microsoft Office\root\Office16\protocolhandler.exe as the browser with the argument ms-excel:ofe|u|https://... (for Excel)

to make this work, it would be required to have a parameter for the URL though that I can put into the LaunchArgs. Something like %URL% or $1, so the LaunchArgs would become ms-excel:ofe|u|%URL%

For the same use case, it would also be helpful to select a custom icon, since the icon of protocolhandler.exe is a generic Office icon, which obviously becomes confusing if you configure it three times for Excel, PowerPoint and Word.

Let me know what you think!

Thanks

  • Custom Icons
  • Parameter in UserSettings.json

Feature Request: Hotkeys

Hi,

I got another idea which - I think - would be a great addition to the app:

It would be great if it was possible to assign hotkeys for each browser. For example, after clicking the link, I press "F" for Firefox, "C" for Chrome and "E" for Edge, or even simpler 1,2,3

Another usability improvement would be to have the window open where the mouse cursor is, as opposed to the center of the screen, so the path to the desired browser is shorter.

Let me know what you think.

Thanks!

Installation Ref.

Two types of Installers can be used....

  • Generic .msi or innosetup type installers
  • Inbuilt installer (used as of v0.2-alpha)

For Inbuilt Installer

Buttons:

  • Install
  • Uninstall
  • Register Protocol
  • Set as Default

Installation Checks

On App Start

Check if Hurl is installed

  • if YES, Check if
    • Default ?
    • Protocol is Registered ?
  • if NO,
    • Make the Remaining Buttons disabled

On Click Install

Firefox Incognito Link Opening

Hello everyone,

I just want to ask if there is a way that I can open links using Firefox incognito? Recently, I used this format here (as it also has been mentioned in the Firefox's official website).

{ "Name": "Firefox", "ExePath": "C:\\Program Files\\Mozilla Firefox\\firefox.exe", "LaunchArgs": null, "Hidden": false, "AlternateLaunches": [ { "ItemName": "Incognito", "LaunchArgs": "-private-window" } ] },

Although this works when I open incognito mode without a link, it does not work as intended when you have a link and you choose Incognito in the Firefox Alternate Launcher. It goes to open the Non-Private Window and the link within that Non-Private Window, and it also opens the Private Window, but with an empty tab. I was looking for a workaround for this but really can't find anything. I do understand that this might be an error within Firefox's end, just wanted to make sure if someone has a workaround for this. Thanks! I am quite glad that this app is also being updated, keep it up! (*๏ผพ-๏ผพ*)

image

Inspect/interpret MS Office safelinks

The vast majority of links I click are from Outlook or Teams, and are "obfuscated" safelinks.

It looks to me that they can be reverse engineered and reconstructed from the parameters in the actual link without actually following the link. At least the first part of the url.

It would be a great improvement to show the actual link behind the safelink and trigger rules based on the link behind the safelink, not the ever present "https://outlook.office.com" of the safelink.

Note: I suppose this functionality could possibly be expanded to work for all kinds of link shorteners, but that would require following the link to get the actual url for a list of link shortening services.

Start minimized

I have kept Hurl in Startup folder,
On every reboot and power up it shows on top of other widows & I have to minimise it

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.