GithubHelp home page GithubHelp logo

victorzakharov / pinwin Goto Github PK

View Code? Open in Web Editor NEW
173.0 173.0 21.0 229 KB

.NET clone of DeskPins software

License: MIT License

C# 98.36% Inno Setup 1.64%
csharp inno-setup productivity winapi winforms

pinwin's People

Contributors

dependabot[bot] avatar mario-kart-felix avatar victorzakharov avatar vzakharov-rxnt 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  avatar  avatar

pinwin's Issues

PinWin installer for XP

PinWinInstaller_v0.2.5.0 doesn't run on Windows XP however PinWin_v0.2.5_binaries works just fine

Crash when trying to pin OBS

I tried to pin OBS but it crash instead.
I don't know if this will help, but this is what it gave me instead.

See the end of this message for details on invoking 
just-in-time (JIT) debugging instead of this dialog box.

************** Exception Text **************
System.ComponentModel.Win32Exception (0x80004005): Error creating window handle.
   at System.Windows.Forms.NativeWindow.CreateHandle(CreateParams cp)
   at System.Windows.Forms.Control.CreateHandle()
   at System.Windows.Forms.Form.CreateHandle()
   at System.Windows.Forms.Control.get_Handle()
   at System.Windows.Forms.Form.Show(IWin32Window owner)
   at PinWin.Controls.PinForm.ShowSetOwnerHandle(Form form, IntPtr ownerHandle) in C:\Git\pinwin\PinWin\Controls\PinForm.cs:line 179
   at PinWin.Controls.PinForm.Create(IntPtr parentHandle) in C:\Git\pinwin\PinWin\Controls\PinForm.cs:line 57
   at PinWin.BusinessLayer.PinFormFactory.TryAddPinned(IntPtr handle) in C:\Git\pinwin\PinWin\BusinessLayer\PinFormFactory.cs:line 57
   at PinWin.Controls.PinnedWindowListControl.TryAddWindowFromPoint(Point point) in C:\Git\pinwin\PinWin\Controls\PinnedWindowListControl.cs:line 57
   at PinWin.MainForm.PinWindowPrompt() in C:\Git\pinwin\PinWin\MainForm.cs:line 128
   at PinWin.MainForm.notifyIcon_Main_MouseUp(Object sender, MouseEventArgs e) in C:\Git\pinwin\PinWin\MainForm.cs:line 182
   at System.Windows.Forms.NotifyIcon.OnMouseUp(MouseEventArgs e)
   at System.Windows.Forms.NotifyIcon.WmMouseUp(Message& m, MouseButtons button)
   at System.Windows.Forms.NotifyIcon.WndProc(Message& msg)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


************** Loaded Assemblies **************
mscorlib
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.3801.0 built by: NET48REL1LAST_B
    CodeBase: file:///C:/Windows/Microsoft.NET/Framework64/v4.0.30319/mscorlib.dll
----------------------------------------
PinWin
    Assembly Version: 0.2.3.0
    Win32 Version: 0.2.3
    CodeBase: file:///C:/Program%20Files%20(x86)/PinWin/PinWin.exe
----------------------------------------
System.Windows.Forms
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.3752.0 built by: NET48REL1
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.3801.0 built by: NET48REL1LAST_B
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Drawing
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.3752.0 built by: NET48REL1
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
System.Configuration
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.3752.0 built by: NET48REL1
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
----------------------------------------
System.Core
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.3752.0 built by: NET48REL1
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll
----------------------------------------
System.Xml
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.3752.0 built by: NET48REL1
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
Accessibility
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.3752.0 built by: NET48REL1
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/Accessibility/v4.0_4.0.0.0__b03f5f7f11d50a3a/Accessibility.dll
----------------------------------------
Newtonsoft.Json
    Assembly Version: 10.0.0.0
    Win32 Version: 10.0.3.21018
    CodeBase: file:///C:/Program%20Files%20(x86)/PinWin/Newtonsoft.Json.DLL
----------------------------------------

************** JIT Debugging **************
To enable just-in-time (JIT) debugging, the .config file for this
application or computer (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.

For example:

<configuration>
    <system.windows.forms jitDebugging="true" />
</configuration>

When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the computer
rather than be handled by this dialog box.



Provide visual indication of currently hovered window in capture overlay

Highlight window borders in red, put application name and its window coordinates on top, live sync to mouse coordinates - or any combination of those (shown before user clicks anything), to help them pick a window.

Currently only mouse coordinates are shown when user moves the mouse in capture overlay, which was the initial debug information to help me build the product. Time to make this feature production-ready.

Request: different TargetWindowIcons

Hi.

Would it be possible to add other TargetWindowIcons to let the user decide which one he/she prefers?

The current target does the job but on a dark background (or over applications with a dark theme) this black TargetWindowIcon isn't that visible. It's not a real issue but it would be nice to have other icons choices.

May I suggest to add an option to choose between other icons? For example:

  • the current black target:

  • a target with a light white Outer Glow (to have a contrast against the background):

  • a red pin (the same that is shown on the system tray, I like this one):

  • other colored pins?

Create an app like "TXMOUSE" to autocopy text selection and paste with middle mouse

you could create an app like "TXMOUSE", it's a very useful app because it copies the text selection automatically and it's possible to paste it using the middle mouse button. but because it is very old, it has some conflicts with the windows interface, defects in which the mouse pointer is jumping. I would be very grateful.
http://fy.chalmers.se/~appro/nt/TXMouse/

Originally posted by @cleuton4k in #34 (comment)

Pin icon is not displayed correctly under Windows XP

Although I did not plan to support Windows XP, it would be nice if this worked correctly. Using the latest version, I'm seeing an issue with pin form bounds and also a grey background, which hides min/max/close area (so it's basically unusable).

image

Github release

Will you use the releases section of github to publish them?

Tera Term software cannot be pinned

A user of Windows XP is unable to pin Tera Term software (which looks like a Putty clone to me) using PinWin. I reproduced in Windows 7 x64. When trying to pin Tera Term window, nothing happens. It is not added to list of windows in PinWin, the icon/handle doesn't show up and it's not on top of other windows like it should be.

image

The pin is placed above the minimize button

This happen on Windows 10. I have not tested other versions.

Could it have something to do with this?

ApiSystemMetrics.Get(SystemMetric.SM_CXSIZE)

It returns 36 pixels when I debug the code, but when inspecting the minimize button I show it to be 47 pixels.

Like the program

I really like the program - is there a way to have another button that moves window to another monitor? I know that is not the concept of Pin but with dual monitors this would be a great feature.

Thanks

Missing Files?

Thanks for tackling this project. I look forward to testing it out.

I tried to build, but I received a couple of errors due to missing files. The following files were missing:

  • PinFormFactory.cs
  • TrayAppForm.resx

Could you commit those two files? Or have I done something wrong during the build process?

Thanks!

Command prompt gets pinned but pin icon/handle is not dragged with the window

Pin icons remains fixed on the screen, if target window is command prompt (cmd.exe). It is correctly positioned on top regardless. The issue seems to be affecting command prompt only (I confirmed under Windows 7). A Windows XP user also reported it freezing the command prompt window when trying to apply top most status.

image

When form is minimized, always on top status is cancelled

And the form is removed from the pinned list - need to see if possible to solve. Keep window pinned after it's minimized and restored. Alternatively, mark a window so that it's on-top status is restored when the window is restored. Not a critical issue, but nice to have.

Create about screen

Include version information, build date, github link, copyright and license details.

Request: "Always on Top" windows

It would be convenient to be able to add softwares to a list of windows that the user always want to see them "Always on Top".
All softwares on this list would automatically get pinned by PinWin after the user opens these softwares/windows.

As shown on my mock-up below, there could be a button to browse .exe files and another button to remove these softwares/windows from this list.

On this tab, the big SELECT WINDOW button would be used to directly add a window to make it AOT the next time that window is launched.

Mock-up image:
AOT

Working strange on Edge

I'm running Windows 10,Edge (44.18362.267.0)and pinwin 0.2.3 and there is some strangeness going on.

If I use pinwin on an Edge window it will work perfectly and the windows is TopMost.
BUT, if I change anything in Edge, e.g. moving the window, then TopMost is not working any more!

Any idea on what's the problem and how to fix it?

EDIT: It seems like it does this if I started a new Edge Windows by dragging a tab from the existing window and then move the pinned window

Can't Pin Vivaldi - Program Crashes

When I try to pin Vivaldi browser windows, the program has this unexpected error and crashes.

************** Exception Text **************
System.ComponentModel.Win32Exception (0x80004005): Error creating window handle.
at System.Windows.Forms.NativeWindow.CreateHandle(CreateParams cp)
at System.Windows.Forms.Control.CreateHandle()
at System.Windows.Forms.Form.CreateHandle()
at System.Windows.Forms.Control.get_Handle()
at System.Windows.Forms.Form.Show(IWin32Window owner)
at PinWin.Controls.PinForm.ShowSetOwnerHandle(Form form, IntPtr ownerHandle) in C:\Git\pinwin\PinWin\Controls\PinForm.cs:line 166
at PinWin.Controls.PinForm.Create(IntPtr parentHandle) in C:\Git\pinwin\PinWin\Controls\PinForm.cs:line 57
at PinWin.BusinessLayer.PinFormFactory.TryAddPinned(IntPtr handle) in C:\Git\pinwin\PinWin\BusinessLayer\PinFormFactory.cs:line 57
at PinWin.Controls.PinnedWindowListControl.TryAddWindowFromPoint(Point point) in C:\Git\pinwin\PinWin\Controls\PinnedWindowListControl.cs:line 57
at PinWin.MainForm.PinWindowPrompt() in C:\Git\pinwin\PinWin\MainForm.cs:line 128
at PinWin.MainForm.notifyIcon_Main_MouseUp(Object sender, MouseEventArgs e) in C:\Git\pinwin\PinWin\MainForm.cs:line 182
at System.Windows.Forms.NotifyIcon.OnMouseUp(MouseEventArgs e)
at System.Windows.Forms.NotifyIcon.WmMouseUp(Message& m, MouseButtons button)
at System.Windows.Forms.NotifyIcon.WndProc(Message& msg)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

************** Loaded Assemblies **************
mscorlib
Assembly Version: 4.0.0.0
Win32 Version: 4.8.4121.0 built by: NET48REL1LAST_C
CodeBase: file:///C:/Windows/Microsoft.NET/Framework64/v4.0.30319/mscorlib.dll

PinWin
Assembly Version: 0.2.4.0
Win32 Version: 0.2.4
CodeBase: file:///C:/Program%20Files%20(x86)/PinWin/PinWin.exe

System.Windows.Forms
Assembly Version: 4.0.0.0
Win32 Version: 4.8.4121.0 built by: NET48REL1LAST_C
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll

System
Assembly Version: 4.0.0.0
Win32 Version: 4.8.4001.0 built by: NET48REL1LAST_C
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll

System.Drawing
Assembly Version: 4.0.0.0
Win32 Version: 4.8.3752.0 built by: NET48REL1
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll

System.Configuration
Assembly Version: 4.0.0.0
Win32 Version: 4.8.3752.0 built by: NET48REL1
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll

System.Core
Assembly Version: 4.0.0.0
Win32 Version: 4.8.4121.0 built by: NET48REL1LAST_C
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll

System.Xml
Assembly Version: 4.0.0.0
Win32 Version: 4.8.3752.0 built by: NET48REL1
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll

Accessibility
Assembly Version: 4.0.0.0
Win32 Version: 4.8.3752.0 built by: NET48REL1
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/Accessibility/v4.0_4.0.0.0__b03f5f7f11d50a3a/Accessibility.dll

Newtonsoft.Json
Assembly Version: 10.0.0.0
Win32 Version: 10.0.3.21018
CodeBase: file:///C:/Program%20Files%20(x86)/PinWin/Newtonsoft.Json.DLL

Error creating window handle.

When attaching a pin to "Task Manager" window the Pinwin application crashes.

It happen when creating the Pin form GUI. With the exception message "Error creating window handle."

form.Show(nativeWindow);

Slight drawback when pinning "foxit reader".

Hello.

The error occurs as follows:

  1. I open Foxit Reader
  2. I put another application on top
  3. I go back to Foxit Reader
  4. I leave it pinned by left-clicking on Pinwin.

After doing these steps, when focusing another application, Foxit Reader does not stay on top. This error does not happen with Ctrl+F11. (https://www.youtube.com/watch?v=7b_Kv9I-YWM)

I love this app, I hope the bug can be fixed easily.

Regards.

Make PinWin a singleton

Just noticed this when making an installer, it's possible to start 2 or more instances of PinWin.

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.