Giter Site home page Giter Site logo

alexanderpro / smartsystemmenu Goto Github PK

View Code? Open in Web Editor NEW
1.9K 29.0 107.0 8.14 MB

SmartSystemMenu extends system menu of all windows in the system

License: MIT License

Batchfile 0.04% C# 71.44% C++ 27.56% C 0.69% PowerShell 0.25%
systemmenu menu transparency alignment powermenu minimize-to-system-tray always-on-top aero aeroglass click-through

smartsystemmenu's Introduction

SmartSystemMenu SmartSystemMenu


SmartSystemMenu extends system menu of all windows in the system. It appends next custom items to menu:

  • Information. Shows a dialog with information of the current window and process: the window handle, the window caption, the window style, the window class, the process name, the process id, the path to the process.
  • Hide. Allows to hide the current window.
  • Roll Up. Allows to roll up and down the current window.
  • Aero Glass. Allows to add the "Aero Glass" blur to the current window. (Windows Vista and higher. Mostly for console windows.)
  • Always On Top. Allows the current window to stay on top of all other windows.
  • Change Title. Allows to change the text in the title bar.
  • Send To Bottom. Allows to send to bottom the current window.
  • Save Screenshot. Allows to save the current window screenshot in a file.
  • Open File In Explorer. Allows to open a process file in a File Explorer.
  • Drag By Mouse. Allows to drag by mouse the current window.
  • Click Through. Allows to click through the current window.
  • Hide For Alt+Tab. Allows to hide the current window for the Taskbar and Alt+Tab switch.
  • Resize. Allows to change the size of the current window.
  • Move To. Allows to move the current window to another monitor.
  • Alignment. Allows the current window to be aligned with any of the 9 positions on the desktop.
  • Transparency. Allows to change the transparency of the current window.
  • Priority. Allows to change the current window's program priority.
  • Clipboard. Allows to copy all window texts (including console, ms office products, etc.) to clipboard and clear clipboard.
  • Dimmer. Dims all but the currently focused window.
  • Buttons. Allows to disable "Minimize", "Maximize" and "Close" button.
  • System Tray. Allows to minimize or suspend the current window to the system tray.
  • Other Windows. Allows to close and minimize all windows in the system except the current.
  • Start Program. Allows to start programs which is in the settings.

Screenshots

alt tag alt tag alt tag alt tag

Command Line Interface

   --help             The help
   --title            Title
   --titleBegins      Title begins 
   --titleEnds        Title ends
   --titleContains    Title contains
   --handle           Handle (1234567890) (0xFFFFFF)
   --processId        PID (1234567890)
-d --delay            Delay in milliseconds
-l --left             Left
-t --top              Top
-w --width            Width
-h --height           Height
-i --information      Information dialog
-s --savescreenshot   Save Screenshot
-m --monitor          [0, 1, 2, 3, ...]
-a --alignment        [topleft,
                       topcenter,
                       topright,
                       middleleft,
                       middlecenter,
                       middleright,
                       bottomleft,
                       bottomcenter,
                       bottomright,
                       centerhorizontally,
                       centervertically]
-p --priority         [realtime,
                       high,
                       abovenormal,
                       normal,
                       belownormal,
                       idle]
   --transparency     [0 ... 100]
   --alwaysontop      [on, off]
-g --aeroglass        [on, off]
   --hidealttab       [on, off]
   --clickthrough     [on, off]
   --minimizebutton   [on, off]
   --maximizebutton   [on, off]
   --sendtobottom     Send To Bottom
-o --openinexplorer   Open File In Explorer
-c --copytoclipboard  Copy Window Text To Clipboard
   --copyscreenshot   Copy Screenshot To Clipboard
   --clearclipboard   Clear Clipboard
   --trustedinstaller Sets TrustedInstaller owner for SmartSystemMenuHook.dll and SmartSystemMenuHook64.dll
-n --nogui            No GUI

Example:
SmartSystemMenu.exe --title "Untitled - Notepad" -a topleft -p high --alwaysontop on --nogui

Install

  • Download the SmartSystemMenu in the zip file
  • Chocolatey: choco install smartsystemmenu
  • Scoop: scoop bucket add extras and scoop install extras/smartsystemmenu

Requirements

  • OS Windows XP SP3 and later. Supports x86 and x64 systems.
  • .NET Framework 4.0

Files

  • SmartSystemMenu.exe
  • SmartSystemMenu64.exe (located in resources of SmartSystemMenu.exe module)
  • SmartSystemMenuHook.dll
  • SmartSystemMenuHook64.dll
  • SmartSystemMenu.xml
  • Language.xml

This program has SmartSystemMenu.exe and SmartSystemMenuHook.dll modules for x86 processes, SmartSystemMenu64.exe and SmartSystemMenuHook64.dll modules for x64 processes. When you run SmartSystemMenu.exe, it also runs SmartSystemMenu64.exe. These two executable modules load hooks (SmartSystemMenuHook.dll and SmartSystemMenuHook64.dll) to all processes. When you select an item in the system menu, the hook sends a message to the executable module. After that, the module performs the selected action: changes the transparency of the window, changes the size of the window, etc.

Tips

Run SmartSystemMenu.exe process. If your OS has enabled UAC, the system will display a UAC dialog. You do not need to worry because the program needs elevated privileges. After the program has been executed, in all system menus of all windows you can see custom items.

smartsystemmenu's People

Contributors

alexanderpro avatar carun avatar hulen avatar launchlee avatar marocco2 avatar pfilippos avatar sebthom avatar vedantmgoyal9 avatar vxbmtu94516 avatar wengh 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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

smartsystemmenu's Issues

Command line interface

It would be great to be able to make command line use of SMM from batch file scripts. This would only be useful if it didn't interfere with SMM also running in the background for normal right click on window title access.

For example:

:
start Notepad %1
SmartSystemMenu.exe /window="Notepad" /moveto=monitor2 /align=MiddleCentre /alwaysOnTop
:

Изменить размер

Хотелось бы иметь именованные (сейчас в качестве наименования используется размер) комбинации размера и позиции - координат левого верхнего угла (позиции сейчас нет)

Auto start doesn't work.

In previous version i installed v1.3.1, the program auto run works fine on startup. Since when i replace its folder with the 1.5.1, it no longer work. exe path is correct, startup shortcut is right, auto run from system tray icon is checked, just no idea why it don't auto run on start.

Add exclusions

At first, thank you for this software!

Now for the issue:
I use UltraVNC. This software has its own system context menu.
When I launch SmartSystemMenu, the UltraVNC's menu is removed and replaced by SmartSystemMenu's one.
This may come from the "Limitations" part you mentioned in your main page.

Could it be possible to add exclusions to your software, to ignore specific windows / applications? That would be fantastic.
Thank you in advance.

Save Windows Settings

Save Windows Settings

Hi Alexander, I love "SmartSystemMenu", thank you so much for creating and sharing it. I use it in conjunction with a windows automation app that requires opened windows to be in a certain size and position, so you can facilitate mouse clicks, selections, text insertions, navigation, etc.
You focus a window, and then use "XY", coordinates to click things in the window, make selections, place the cursor in the proper place to insert text, select text and extract it to a variable to be used later, and so on. Basically, anything that you can do manually in the window or dialog with a mouse or a keyboard.
You code different automation tasks for each task that you want to perform. For these tasks to be able to run multiple times, the position, size, and other properties of the windows or dialogs must always be the same.
I use the automation app to automate tons of complicated repetitive tasks. I'm using "SmartSystemMenu", version 1.7.2 right now but will be updating to version 1.7.4 shortly.
Is it possible to use "SmartSystemMenu", to change several window properties, and then save those changes permanently, for that specific window, so that each time, that specific window opens, it will always have those properties...ego, size, position, always on top, transparency, etc? Even between reboots?
Maybe it could be a new feature, if it doesn't already exist in version 1.7.4. It would have to really identify the window uniquely, because the "Save As", window or dialog for one app, may be totally different, then the "Save As", window or dialog for another. So you couldn't target the window or dialog by just the "Title Bar", you'd have to use multiple parameters. Of course, when you do want to identify the window or dialog by the text in the "Title Bar", you should be able to use an "Asterisk", to indicate that other text may come before or after the text that you have specified.
So many apps or dialogs throw in text before, or after, the identifying text, in a "Title Bar". "Mozilla Firefox Browser", will change it's "Title Bar", depending on which tab is selected, when you have multiple tabs open. It will prefix "Mozilla Firefox", with the "Tab Title", and sometimes the "Tab", position. So you would need to identify the "Mozilla Firefox", app to "SmartSystemMenu", like this, "*Mozilla Firefox*". So regardless of which "Tab", is selected, "SmartSystemMenu", still targets the "Mozilla Firefox", main window, as the window to set the saved properties to.
It would be cool if you could target the window or dialog by several parameters such as "Text in the Title Bar", or the "Program", that spawned the window or dialog. Any ways to specifically target the right window or dialog so the correct saved properties from "SmartSystemMenu", are applied.
Basically, is it possible to select properties for a window or dialog, using "SmartSystemMenu", and then save them permanently, so they're applied each time that window is spawned? Beyond reboots?
That's my basic question. The rest is a feature request, with explanation. I apologize for the long-windedness.
                                                        Sincerely, Stephen Harris
                                                        Thanks Again, Alexander

The hot key is still occupied after the process is excluded

Set hotkeys "Alt + A" in SmartSystemMenu.
After excluding the process, the program's "Alt + A" hotkey still doesn't work.
It will also cause the "CTRL + Alt + A" global hotkey of other programs to not work.
Even if "Ctrl + Alt + A" is undefined in SmartSystemMenu.

Add posibility to disable some menu options

Maybe it is possible already, but I would like to remove some of the added system menu options as I am not using them and so they just clutter the system menu. E.g. "Roll Up", "Aero Glass", "Drag By Mouse", "Start Program".

Thanks for this handy tool!

"uninstall" issue

When tring to upgrade to the new version e.g. 2.10 to 2.11, I always exit the program, but SmartSystemMenuHook.dll and SmartSystemMenuHook64.dll are still in use.
image

Exception now and then

I have not yet figured out when this exception really occurs. Usually I find this dialog on my screen after I left the computer unattended for some time. It only happens every few days, but on two different computers, so it might not be a local phenomenon.

2020-06-14 08_52_51-Window
.

Telegram, Conemu errors

Иногда выскакивают такие ошибки
image
image
Предположительно, вызвано это открытием окон Telegram.exe и Conemu64.exe.

Hide the "peek" line in taskbar? [Request]

I don't know if this is out of the scope of the project but I've been trying to find a way to hide the peek vertical line at the end of the taskbar in Win10 with no luck unless I use a program that's... Untrustworthy to draw over it with the taskbar color.

I would kill (not really) for an option to hide that stupid line because I'm concerned about burn in.

There must be a way to do it... and I'm thinking the registry but who knows. I haven't had any luck at all and I'm hoping you could find a way and add it to the program.

Thanks for your time.

Code license

How is this code licensed?
GPL, LGPL, Public domain, ...?

Hot keys

At first, I realy love this softwave

is it possible to

1st
add any feature has their own hotkey (shortcut key)
for example
Win+Num 4 = Alignment middle-left
Ctrl+F12 = Toggle active window pin (Always On Top)

2nd
when any program has be set [ Always on top]
it has a mrak to identify this situation
Like this program
https://efotinis.neocities.org/deskpins/index.html

3rd
combine resize & alignment & hotkey
once hotkey is pressed, do both resize & alignm
Like this program
http://www.brianapps.net/sizer4/

I am sorry to make so many unreasonable requests
I would appreciate it if you could help

Best Regards

[Suggest] Add high DPI support

Although the right-click menu is implemented by the system and has no scaling problem, the Setting and the Information tool (or other program interface) was poorly display on high DPI screens, even if change system DPI compatibility of SmartSystemMenu.exe in the property setting, it still has not a good effect.

Aeroglass feature

Hi Alexander

Is it possible to add a setting which keeps aeroglass feature always enable when set to chosen windows once for all , as you have to set it again when closing apps ?

Regards

Resize client area

Currently the resize utility sets the window size directly, which includes the size of window decorations. It results in the client area being smaller than expected and makes it awkward to use it for resizing games.

Would it be possible to add an alternative behavior that seeks to reach the given client size instead?

Issues with alignment in version 2.11.1

First of all I would like to say thank you for your nice software which I use since a couple of weeks.

I had started with version 2.9.4. Then I updated to 2.10.0 and recently to 2.11.1 (always with the same configuration).

At the moment I am back to 2.10.0 because there seems to be a bug in version 2.11.1:

When I (try to) perform an alignment in 2.11.1, in most of the cases it does not work correctly:

An issue seems to be the following:
I want to make an alignment that a window is e.g. top-left (the window refers to the program "MyInfo"). When using the hotkey (I have chosen WinL+1) the window does not immediately appear in this position but it is minimized to the taskbar. Only when clicking on the name in the taskbar the window opens in the desired position (as for example top-left).

Or another issue:
The window is in the position top-left and I want to transfer it to top-right (by using my hotkey which is WinL+3). The alignment works but at the same time opens undesired the window of another program which I had minimized in the taskbar ("Adobe Digital Editions"). (This program should be always on top [determined not by using SmartSystemMenu but by using another program called "Window TopMost Control"] but of course it should not open "by itself" when I have it minimized in the taskbar.)

A third issue (a quite strange one):
Again the window is in the position top-left and I want to transfer it to middle-center or middle-right (in my case by using the hotkeys WinL+5 respectively WinL+6). The alignment itself seems to work. But in the opened note of "MyInfo" (which is a software used especially for writing notes etc.) a sign is added (so as I had typed it by myself in the editor of "MyInfo"): In case of the alignment "middle-center" a sign "@" is added; in case of "middle-right" a sign "~" is added.
The same happens when performing other alignments (bottom-left etc.).

I did not make other attempts because obviously there is something wrong with version 2.11.1 concerning the alignment. (In 2.10.0 all works fine.)

So please could you take a look at this?

If it is of importance: I Use Windows 10 Home, version 20 H 2.

And in SmartSystemMenu I have added special Window Size Menu Items (in the tab "Menu (Resize")) for the programs "MyInfo" and "Adobe Digital Editions":
for Adobe Digital Editions: Width 750, Height 872
for MyInfo: Width: 1165, Height 768

Thank you.

Suspended Explorer, had to restart my computer.

I've been using 2.9.3 for a while now, and decided it was time to check out the newer version-

Where did the ability to minimize tabs to the tray go?

Also for some reason I'm able to suspend Explorer and completely brick the ability to open stuff, resorting me to turning off my computer manually. I decided to stick with the older version for now. In the case of that issue, I'd not make tab suspending available for core system programs i.e. Explorer, Start, etc.

Системный трей

Если в настройках снять галочку с пункта "Системный трей", то все окна начинают сворачиваться в системный трей.

Breaks certain windows apps

Hello,
I think SmartSystemMenu is interfering with certain windows programs, such as Discord and Slack. SSM makes the programs not able to be minimized after one try.

[Feature Request]Reorder menù items + mouse gestures

Hello,
first of all many thanks for SmartSystemMenu, simple perfect menu.

I'm writing to ask if would be possibile to move or reorder menu items, in particular I'd like to have minimize to tray as a choice in the first level of the menu (and not in the submenu "system tray".

Thank you.

Delays when using software like Audacity or MS Word

Hello Alexander,

I am sorry to report that SmartSystemMenu obviously causes delays when using certain programs.

For example today I used Audacity (for the first time since using SmartSystemMenu).

There are three situations:

a) SmartSystem is started (and no process exclusion is added for Audacity):
I noticed a small delay when starting some of Audacity's effects: The window of the effect is on the screen immediately but it takes one or two seconds until the user interface of the effect appears (during the delay the window remains white).

b) So I decided to add a process exclusion for the audacity.exe in SmartSystemMenu:
Now things became even worse: There was a delay for the appearance of the user interface of Audacity itself. And moreover there is a significant delay when loading a file (mp3) into the program: the normal loading time of e.g. 4 or 5 seconds became 12 seconds or more (for exactly the same file).

c) I made a test and closed SmartSystemMenu completely (click on "Exit").
Now Audacity worked again as usually - without any delays. So these delays have to do undoubtedly with SmartSystemMenu.

I had noticed already earlier similar issues with MS Word:

a) SmartSystem Menu activated (and no process exclusion is added for the winword.exe):
A small delay (white surface in the editor window) occurs when opening a document in Word.

b) Winword.exe is added to the process exclusions of SmartSystemMenu:
The problem of a) seems to be gone but there are new ones: When typing (pressing a key) MS Word often does not react so that permanently some letter is missing in the document. (I also tested it with another keyboard - the issue continued.)
So with the winword.exe in the process exclusions MS Word becomes practically unusable. Currently I am back to the configuration of situation a) (Fortunately the delay when opening a document is not very big.)

I use a quite old version of MS Word ("MS Word 2002"). So I thought that it might have to do with this old version and decided not to report the problem. But now - with similar issues concerning Audacity - I think it is time to tell you about these issues.

Perhaps you can check the situation.

I saw that with issue #28 user @samkatakouzinos had also reported delays caused by SmartSystemMenu in other software (vJoy and Joystick Gremlin).

It seems to me that there could be a common reason for all these cases.

As already mentioned in my other thread I use

  • Windows 10 Home 20H2
  • SmartSystemMenu, version 2.10.0

Thank you.

Still problems with alignment in version 2.11.2

Hello Alexander,

unfortunately the issue described in #42 is still not completely fixed in version 2.11.2. Alignment may work fine let's say 5 or 10 times but then suddenly occurs the same as described in #42. In this case I have to exit SmartSystemMenu and to restart it. Then all works fine again.

So please could you take a look at this matter again?

Thank you.

PS: I am aware that after version 2.11.2 there were already three more releases. If you think that the issue could have been fixed by one of them, of course I will update.

[Feature Request] Extra alignment options

In addition to the current alignment, it would be nice to have these two separate actions:

Centre horizontally (no vertical change)
Centre vertically (no horizontal change)

Duplication of menu items

On some Windows versions I have an issue when I have one normal list of menu items and then exact same list of items. I can't fifure out what caused this but maybe it is because of more then five items in "Start program" submenu. Or something else. On one system I just stopped process and ran 64bit file so that there is only one process. After that dupliction was solwed. But on another system only reduction to five items in "Start program" submenu solved this issue.

Can you please check if there maybe some issue with more then five items in "Start program" submenu? Or what else may be the reason of such behavior?

Disable / no hotkey version?

Non configurable, global hotkeys are a terrible idea.
Especially such as ctrl+shift+arrrow_down that conflicts with many IDEs and text editors.

Is there a way to disable this? Or can we get a version without any global hotkeys hard-coded?

Alignment overlay

When align by the bottom edge of screen, windows are positioned so that there is a little overlay. Bottom side of aligned window is about 20 pixels below the bottom edge of the screen. So that I need to move every aligned window a little upper manually. Would be better if bottom of aligned application is several pixels above the screen edge. With other edges no such issues.

Install & Uninstall for a Newbie

Alexander, I love your "SmartSystemMenu", program. I simply want to know how to update version 1.7.2 to version 1.7.4. Also, is there a way to make the changes you make to a window permanent or the default, so that window is always that size, or that position, etc. If you have time...could you email me the answers. I use your program in conjunction with a windows automation program. Thanks.

Affects software that use vJoy

Hi there.

Software configured to receive events from virtual joysticks via vJoy do so slowly.
I run vJoy, Joystick Gremlin and joystick devices like steering wheels, pedals, gear shifters.

I define mappings in Joystick Gremlin. One is pressing a real button on a steering wheel will activate a virtual button on a virtual joystick.
Then other software such as discord, teamspeak are configured to keybind to that virtual button to mute voice.

With SmartSystemMenu 2.4.1 running vJoy events run delayed and no guarantee when it will be delivered.
Can range from one second to over a minute. This is unacceptable for me.
The more programs I run the longer it takes and I run many programs.

Without SmartSystemMenu 2.4.1 running vJoy events run instantly with no delay.

May you know why SmartSystemMenu impacts the use of vJoy so much?
For now I've turned off SmartSystemMenu so that my system is responsive.

— Regards, Sam Katakouzinos

References:
https://github.com/shauleiz/vJoy/releases/tag/v2.1.8.39
https://github.com/WhiteMagic/JoystickGremlin/releases/tag/Release_13.3

fix(menu): retain 'Edit', 'Defaults', 'Properties' menu items

Please retain these menu items for windows such as;

  • Command Prompt
  • Windows PowerShell
  • PowerShell Core

They are;

  • Edit
  • Defaults
  • Properties

Example image shown;

HpPBUNAvu4

I would like these menu items to remain in addition to the extra menu items created with this software.

— Regards, Sam Katakouzinos

Hide tray icon option

Feature suggestion to add an option for hiding SmartSystemMenu icon in system tray.

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.