Skip to content

andrijac/ruler

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ruler

Simple on-screen pixel ruler.

download page

Releases

https://github.com/andrijac/ruler/releases

Legacy

Ruler is fork of small utility application originally developed by Jeff Key:

.NET version support

Support for .NET 2.0 is kept. Last version with .NET 2.0 support is 1.6. https://github.com/andrijac/ruler/releases/tag/1.6.0.0

Onward, Ruler will target .NET 4.6 which is deployed with Windows 10.

Added features in this fork.

Contributions

If you want to contribute to project, please follow the rules:

  1. Zero-Warning policy. There should be no C# compiler warnings in PR. 🙏
  2. Use StyleCop Visual Studio Extension (by Chris Dahlberg) to check for StyleCop warnings https://marketplace.visualstudio.com/items?itemName=ChrisDahlberg.StyleCop. Zero-warning policy extends to StyleCop warnings. 👮 Custom StyleCop rules file is part of repository and it should be picked up by StyleCop in Visual Studio once you run it.
  3. Keep in mind that Ruler should be simple tool. It should be disposable, easy to run, easy to close, easy to run in multiple instances. For now, I still refuse to add any kind of additional dependency to project like persistent storage for Ruler settings (which are still, at the moment, few), having a Ruler icon in system tray etc. for sake of keeping Ruler simple. Since Ruler can run multiple instances, features mentioned would add unnecessary complexity to project. 💬
  4. Use Visual Studio 2017 2019 with latest updates. ☕

Ruler shortcuts:

  • Space and Double click: will toggle direction of Ruler
  • Arrow keys: move Ruler (+ Shift for small step)
  • Ctrl + Arrow keys: resize Ruler (+ Shift for small step)
  • Ctrl + S: open resize form

Command line parameters (optional):

In current implementation, you can either not use parameters (just start app) or use all parameters (you cannot used parameters selectively). Parameters are intended to be used internally to duplicate Ruler by passing configuration to new instance, but you can use them to save prefered Ruler configuration too The way parameters are passed to program and parsed might change in future.

ruler.exe [Width:int] [Height:int] [IsVertical:bool] [Opacity:double] [ShowToolTip:bool] [IsLocked:bool] [TopMost:bool]

Example: ruler.exe 100 50 false 0.6 true false true

Gifs are made using LICEcap http://www.cockos.com/licecap/