From da8c664efd83e393063c4abb8ba9d09c23d7d837 Mon Sep 17 00:00:00 2001 From: XhmikosR Date: Fri, 11 Oct 2024 04:18:57 +0000 Subject: [PATCH] deploy: 869fa1160629c118f0a835c490b095fac9e54fd8 --- 404.html | 2 +- AAClr.html | 2 +- BowPad.html | 2 +- BowPad_history.html | 2 +- BowPad_lexerconfig.html | 2 +- BowPad_plugins.html | 2 +- BowPad_translate.html | 2 +- CommitMonitor.html | 2 +- CryptSync.html | 2 +- DemoHelper.html | 2 +- EvImSync.html | 2 +- Evernote2Onenote.html | 2 +- FavIconizer.html | 2 +- FileTool.html | 2 +- MailNoter.html | 2 +- SKTimeStamp.html | 2 +- SendMessage.html | 2 +- StExBar.html | 2 +- about.html | 2 +- donate.html | 2 +- grepWin.html | 2 +- grepWin_cmd.html | 2 +- index.html | 2 +- index.zh.html | 2 +- js/pack.aca9aad8.js | 1 + js/pack.fda6d87f.js | 1 - privacy.html | 2 +- regexhelp.html | 2 +- sitemap.xml | 56 ++++++++++++++++++++--------------------- svnrobots.html | 2 +- tabspace.html | 2 +- trafficWatcher.html | 2 +- 32 files changed, 58 insertions(+), 58 deletions(-) create mode 100644 js/pack.aca9aad8.js delete mode 100644 js/pack.fda6d87f.js diff --git a/404.html b/404.html index 20bae6ce..3ad52e9c 100644 --- a/404.html +++ b/404.html @@ -1 +1 @@ -Error 404 - Stefans Tools

Stefans Tools

Useful open source tools that make your life easier

404 - Page Not Found

The page you requested doesn't exist on this server. Maybe it was moved to another place.

You can search for the information you want using the search button below.

\ No newline at end of file +Error 404 - Stefans Tools

Stefans Tools

Useful open source tools that make your life easier

404 - Page Not Found

The page you requested doesn't exist on this server. Maybe it was moved to another place.

You can search for the information you want using the search button below.

\ No newline at end of file diff --git a/AAClr.html b/AAClr.html index 13ee843c..5274c295 100644 --- a/AAClr.html +++ b/AAClr.html @@ -1 +1 @@ -Auto Aero Colors - Stefans Tools

Stefans Tools

Useful open source tools that make your life easier

Auto Aero Colors (AAClr)

Windows 8 has a new feature where the Aero colors can be automatically adjusted according to the selected wallpaper.

This seems to be a nice feature, and there's even a tool available that offers that feature for Windows 7: Aura.

But there are some things about Aura that bother me, so I hacked together my own tool which offers that feature.

Unlike Aura, AAClr is written in plain C++ and doesn't use the .NET Framework. For tools that are supposed to be started automatically on logon, this ensures that the whole startup time doesn't increase by several seconds.

AAClr also detects changes in wallpapers by catching events from the system and doesn't use timers that access the wallpaper file several times a second (like Aura does). That means that AAClr is idle most of the time and only wakes up when necessary.

And about resource usage: AAClr uses less than 2MB of private bytes - I think that's not too much.

I've put the AAClr source code into the StExBar repository since it's too small to justify creating its own project for it. You can browse the source code here.

A compiled executable can be found on the download page.

\ No newline at end of file +Auto Aero Colors - Stefans Tools

Stefans Tools

Useful open source tools that make your life easier

Auto Aero Colors (AAClr)

Windows 8 has a new feature where the Aero colors can be automatically adjusted according to the selected wallpaper.

This seems to be a nice feature, and there's even a tool available that offers that feature for Windows 7: Aura.

But there are some things about Aura that bother me, so I hacked together my own tool which offers that feature.

Unlike Aura, AAClr is written in plain C++ and doesn't use the .NET Framework. For tools that are supposed to be started automatically on logon, this ensures that the whole startup time doesn't increase by several seconds.

AAClr also detects changes in wallpapers by catching events from the system and doesn't use timers that access the wallpaper file several times a second (like Aura does). That means that AAClr is idle most of the time and only wakes up when necessary.

And about resource usage: AAClr uses less than 2MB of private bytes - I think that's not too much.

I've put the AAClr source code into the StExBar repository since it's too small to justify creating its own project for it. You can browse the source code here.

A compiled executable can be found on the download page.

\ No newline at end of file diff --git a/BowPad.html b/BowPad.html index 28750153..e3c33a0f 100644 --- a/BowPad.html +++ b/BowPad.html @@ -1 +1 @@ -BowPad - Stefans Tools

Stefans Tools

Useful open source tools that make your life easier

BowPad

BowPad is a small and fast text editor with a ribbon user interface and syntax highlighting.

BowPad with default color theme BowPad with dark color theme

A few notable features of BowPad:

  • syntax highlighting for over 100 file types and languages
  • handling of many different encodings, including UTF-8, UTF-16 and even UTF-32
  • easy ribbon user interface
  • proper dark theme, including themed scrollbars
  • navigation hints in the vertical scrollbar
  • coloring of open tabs according to their path
  • rich tooltips which can show colors or numbers in different bases
  • extendable with plugins written in JScript or VBScript
  • allows custom color styles, i.e. user defined language coloring
  • Auto-completion and code-snippets
  • can work as an editor for git, configure it like this:
    git config --global core.editor "BowPad.exe -wait"

And before you ask: the name BowPad comes from the fact that it uses the ribbon user interface.
Ribbon → Bow, Editor → NotePad = BowPad.
And of course we all know that Bowties are cool!

Download

The latest version of BowPad is available for download here.
download
If there is a new version available, BowPad will notify you and offer to download and install it for you.

Windows 7 required

BowPad requires Windows 7 or later. It won't work on Windows XP!

If you're interested to know about what has changed in new versions of BowPad, have a look at the change history.

Source code

BowPad is licensed under the GPL. If you would like to make changes to BowPad, get the source code here.

Report bugs, ask for new features

In case you encounter a bug or you have a feature request, please create a new entry in our issue tracker. But please first do a search there on all issues (not just the new ones) to make sure your issue isn't already reported and/or fixed.

Translations

BowPad can show the UI in various languages, but if your language of choice is not available, you can help create it. Find out how here.

Plugins

If you're interested in writing plugins for BowPad, have a look at the documentation. Once you have the plugin script ready, create a new issue in the issue tracker and attach the plugin there.

Replace Notepad

If you want to replace the Windows NotePad with BowPad, you can do that by modifying the registry:

  1. Start regedit.exe
  2. go to HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options and create a new key named notepad.exe
  3. under the notepad.exe key, create a new string value named Debugger and set the value to "c:\program files\BowPad\BowPad.exe" /z
\ No newline at end of file +BowPad - Stefans Tools

Stefans Tools

Useful open source tools that make your life easier

BowPad

BowPad is a small and fast text editor with a ribbon user interface and syntax highlighting.

BowPad with default color theme BowPad with dark color theme

A few notable features of BowPad:

  • syntax highlighting for over 100 file types and languages
  • handling of many different encodings, including UTF-8, UTF-16 and even UTF-32
  • easy ribbon user interface
  • proper dark theme, including themed scrollbars
  • navigation hints in the vertical scrollbar
  • coloring of open tabs according to their path
  • rich tooltips which can show colors or numbers in different bases
  • extendable with plugins written in JScript or VBScript
  • allows custom color styles, i.e. user defined language coloring
  • Auto-completion and code-snippets
  • can work as an editor for git, configure it like this:
    git config --global core.editor "BowPad.exe -wait"

And before you ask: the name BowPad comes from the fact that it uses the ribbon user interface.
Ribbon → Bow, Editor → NotePad = BowPad.
And of course we all know that Bowties are cool!

Download

The latest version of BowPad is available for download here.
download
If there is a new version available, BowPad will notify you and offer to download and install it for you.

Windows 7 required

BowPad requires Windows 7 or later. It won't work on Windows XP!

If you're interested to know about what has changed in new versions of BowPad, have a look at the change history.

Source code

BowPad is licensed under the GPL. If you would like to make changes to BowPad, get the source code here.

Report bugs, ask for new features

In case you encounter a bug or you have a feature request, please create a new entry in our issue tracker. But please first do a search there on all issues (not just the new ones) to make sure your issue isn't already reported and/or fixed.

Translations

BowPad can show the UI in various languages, but if your language of choice is not available, you can help create it. Find out how here.

Plugins

If you're interested in writing plugins for BowPad, have a look at the documentation. Once you have the plugin script ready, create a new issue in the issue tracker and attach the plugin there.

Replace Notepad

If you want to replace the Windows NotePad with BowPad, you can do that by modifying the registry:

  1. Start regedit.exe
  2. go to HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options and create a new key named notepad.exe
  3. under the notepad.exe key, create a new string value named Debugger and set the value to "c:\program files\BowPad\BowPad.exe" /z
\ No newline at end of file diff --git a/BowPad_history.html b/BowPad_history.html index 2995873d..8e365f25 100644 --- a/BowPad_history.html +++ b/BowPad_history.html @@ -1 +1 @@ -BowPad History - Stefans Tools

Stefans Tools

Useful open source tools that make your life easier

Version 2.9.1

  • List of issues solved for 2.9.0
  • updated to Scintilla 5.5.1
  • numbers in the status bar are formatted with thousand-separators

Version 2.9.0

  • List of issues solved for 2.9.0
  • updated to Scintilla 5.5.0

Version 2.8.9

  • List of issues solved for 2.8.9
  • Fixed problem where file was not loaded/shown empty when encoding detection failed
  • updated to Scintilla 5.3.5

Version 2.8.8

  • List of issues solved for 2.8.8

Version 2.8.7

  • fixed bug that when clicking on a tab the tab was not selected

Version 2.8.6

  • updated to Scintilla 5.3.2 and Lexilla 5.2.1
  • List of issues solved for 2.8.6
  • Improved visibility of active tab
  • Mark modified lines in the left bar

Version 2.8.5

  • Fixed a crash when activating the spell checker
  • Fixed drawing the bookmarks in the left margin

Version 2.8.4

  • updated to Scintilla 5.3.0
  • List of issues solved for 2.8.4
  • build for ARM64 based OS is now available
  • change markers shown in the left margin

Version 2.8.3

  • updated to Scintilla 5.2.3
  • List of issues solved for 2.8.3
  • auto-completion for math formulas that are on a single line

Version 2.8.2

  • updated to Scintilla 5.2.0
  • use the uchardet lib for better detection of file encodings
  • List of issues solved for 2.8.2

Version 2.8.1

  • context menu entry for the Win11 explorer
  • updated to Scintilla 5.1.3
  • List of issues solved for 2.8.1

Version 2.8.0

  • updated to Scintilla 5.1.0
  • List of issues solved for 2.8.0

Version 2.7.1

  • updated to Scintilla 5.0.2
  • Huge list of issues solved for 2.7.1

Version 2.7.0

  • updated to Scintilla 4.4.6
  • autocompletion
  • code snippets
  • many more new features...
  • Huge list of issues solved for 2.7.0

Version 2.6.5

  • updated to Scintilla 4.4.5
  • fixed a few issues with clipboard handling
  • fixed drag and drop when run elevated
  • List of issues solved for 2.6.5

Version 2.6.4

  • List of issues solved for 2.6.4

Version 2.6.3

  • List of issues solved for 2.6.3
  • better detection of numbers for tooltips
  • more command tooltips contain the keyboard shortcut
  • updated to Scintilla 4.4.4

Version 2.6.2

  • when moving a tab to another instance, it lost the lexer
  • styling fixes for Nant and makefiles
  • improved the simple lexer

Version 2.6.1

  • fixed broken update check
  • new regex capture dialog

Version 2.6.0

Version 2.5.2

  • List of issues solved for 2.5.2
  • updated to Scintilla 4.3.3
  • improved folding

Version 2.5.1

  • List of issues solved for 2.5.1
  • updated to Scintilla 4.3.2
  • dark mode enabled for dialogs
  • improved button states for plugins
  • math expressions are evaluated and the result shown in a tooltip

Version 2.5.0

  • List of issues solved for 2.5.0
  • updated to Scintilla 4.3.0
  • fixed: ctrl+doubleclick on text could open an empty browser

Version 2.4.5

  • The 'uncomment' function failed to work properly for some lexers
  • language files were the wrong version

Version 2.4.4

  • List of issues solved for 2.4.4
  • updated to Scintilla 4.2.0
  • some more fixes for high dpi displays
  • altcode-sequences didn't work

Version 2.4.3

  • List of issues solved for 2.4.3
  • updated to Scintilla 4.1.3
  • various fixes and improvements for high dpi displays

Version 2.4.2

  • Language files were missing in 2.4.1
  • Improved icons for dark mode

Version 2.4.1

  • List of issues solved for 2.4.1
  • updated to Scintilla 4.1.2
  • improved jumplist, added an entry to start BowPad with Admin privileges
  • BowPad uses the proper dark mode for the ribbon with Windows 10 update 1809

Version 2.4.0

  • New main icon
  • updated to Scintilla 4.1.1
  • fixed wrong filename when tearing a tab to a new BowPad instance

Version 2.3.9

  • List of issues solved for 2.3.9
  • fixed: crash with long lines in .editorconfig file
  • updated to Scintilla 4.1.0
  • performance improvements for the file tree
  • preliminary support for R2L languages

Version 2.3.8

  • List of issues solved for 2.3.8
  • fixed: documents were loaded before a restored session instead of after it
  • updated to Scintilla 4.0.5

Version 2.3.7

  • List of issues solved for 2.3.7
  • Bookmarks are kept when moving a tab to a new process

Version 2.3.6

  • Button in statusbar to allow turning the .editorconfig off
  • fixed delay when closing the window

Version 2.3.5

  • List of issues solved for 2.3.5
  • Updated to the latest Scintilla component 4.0.2
  • fixed possible crash if a path got deleted

Version 2.3.4

  • List of issues solved for 2.3.4
  • Performance improvements in the file tree
  • fixed possible hang if a file got deleted
  • fixed editorconfig issues

Version 2.3.3

  • updated to latest Scintilla component 3.7.5
  • recognize more file extensions for lexers
  • fixed hiding the cursor when scrolling
  • fixed handling of EOLs in certain situations
  • allow to set the default EOL for new files

Version 2.3.2

  • updated to latest Scintilla component 3.7.4
  • improved UI responsivness
  • improved UI using animations
  • fixed situation where the tab-to-spaces and spaces-to-tabs skipped a lot of code
  • the setting spaces/tabs is now stored per document instead of globally
  • reduced flicker when drawing the scrollbars
  • fixed styling issue when reloading

Version 2.3.1

  • updated to latest Scintilla component 3.7.3
  • improved status bar
  • fixed startup flickering
  • fixed flickering when resizing the window
  • fixed losing the lexer when refreshing/reloading

Version 2.3.0

  • updated to latest Scintilla component 3.7.2
  • enabled folding for Python
  • possibility to mark a file as write protected
  • performance improvements
  • fix drawing when showing a dialog during file loading
  • better tooltip when showing colors
  • styles for EDIFact files
  • tracking tooltip showing the current line
  • allow moving lines without a selection
  • fix sizes for high dpi monitors
  • improved function detection

Version 2.2.5

  • updated to latest Scintilla component 3.7.0
  • fixed color highlighting in tooltip
  • bookmarks were not updated in the scroll bar immediately
  • selection count wasn't shown if equal to search mark
  • wheel scrolling of tab bar works now on all OS versions

Version 2.2.4

  • updated to latest Scintilla component 3.6.7
  • improved function parsing
  • fixed crash when searching a path that does not exist
  • improved searching binary files
  • option to load files as utf8 by default
  • fixed recognition of EOLs

Version 2.2.3

  • improved c# function parsing regex
  • new variables for run commands: $(TAB_NAME) and $(TAB_EXT)
  • improved performance when loading many files
  • improved auto-brace feature
  • tab bar can be scrolled with the mouse wheel
  • fixed showing wrong mouse cursor

Version 2.2.2

  • updated to latest Scintilla component 3.6.6
  • New command: goto symbol/function
  • improved "goto brace"
  • more improvements to session loading
  • improved the hoover tooltip
  • two new buttons on the top right to close the current tab and to open a new one
  • various small bug fixes

Version 2.2.1

  • Fixed a crash when open files get renamed/deleted
  • Improved and extended the search feature
  • updated to latest Scintilla component 3.6.4
  • Improved speed when restoring a session
  • changing style colors does not switch to bright mode anymore

Version 2.2.0

  • Fixed problem with prev/next command
  • Improved the custom style dialog
  • Fixed problem with cursor hiding
  • Improved the search/replace feature
  • Fixed problem where a tab-move to a new BowPad instance would lose not-saved data
  • Failed to ask to save changes in some situations
  • Improved C++ function recognition

Version 2.1.3

  • Files can be opened into an existing empty tab with the Ctrl key pressed
  • Fixed problem when quitting and hitting Cancel in the save-as dialog
  • Improved tab UI
  • Fixed a few issues with the function lists

Version 2.1.2

  • updated to latest Scintilla component 3.6.1
  • Fixed an issue when pasting HDROP items from the clipboard
  • Allow dropping file tabs onto the file tree to move/copy the file
  • Improved lexer detection for files without extensions

Version 2.1.1

  • updated to latest Scintilla component 3.6.0
  • Fixed an issue with opening files as a notepad replacement
  • Allow specifying a lexer based on a filename
  • When opening files from a previous session, don't show errors if the file(s) don't exist anymore

Version 2.1.0

  • updated to latest Scintilla component 3.5.7
  • Fixed an issue with coloring regex search matches
  • Fixed printing when the dark theme was active

Version 2.0.20

  • List of issues solved for 2.0.20
  • updated to latest Scintilla component 3.5.5

Version 2.0.19

  • List of issues solved for 2.0.19
  • Fixed an issue in the file tree when opening folders two levels below root

Version 2.0.18

  • List of issues solved for 2.0.18
  • Speed improvements when searching
  • Spell checker improvements, doesn't stall if the document is big
  • File tree refreshes if the document is refreshed
  • updated to latest Scintilla component 3.5.4

Version 2.0.17

  • List of issues solved for 2.0.17

Version 2.0.16

  • Fixed issues with the file tree not updating correctly

Version 2.0.15

  • List of issues solved for 2.0.15
  • improved handling of brace highlighting
  • When a file is changed outside of BowPad, it is reloaded automatically if the file has no edits in BowPad
  • File tree expands automatically if the current tab is in a subfolder of the file tree root
  • Fixed problems with converting tabs to spaces (and vice versa) in html/xml files
  • new feature to automatically save modified files

Version 2.0.14

  • List of issues solved for 2.0.14

Version 2.0.13

  • List of issues solved for 2.0.13
  • fixed a few issues with the file tree handling
  • fixed problems with the detection of modifications

Version 2.0.12

  • List of issues solved for 2.0.12
  • file tree loads in separat thread, no longer blocking the UI
  • Updated to the latest Scintilla component 3.5.3

Version 2.0.11

  • List of issues solved for 2.0.11
  • Improved load speed in the file tree
  • Updated to the latest Scintilla component 3.5.2

Version 2.0.10

  • List of issues solved for 2.0.10
  • Improved the file tree
  • Fixed problem when opening BowPad with a right-click in explorer from a folder background

Version 2.0.9

  • List of issues solved for 2.0.9
  • Added explorer context menu entry for folders and folder backgrounds

Version 2.0.8

  • List of issues solved for 2.0.8
  • Added a file tree, showing the directory of the first loaded file

Version 2.0.7

  • List of issues solved for 2.0.7
  • Updated to the latest Scintilla component 3.5.1
  • Added coloring for the new BibTex lexer

Version 2.0.6

  • List of issues solved for 2.0.6

Version 2.0.5

  • List of issues solved for 2.0.5
  • improvements for high dpi monitors
  • handling touch gestures

Version 2.0.4

  • List of issues solved for 2.0.4
  • new command to sort lines
  • Updated to latest Scintilla component 3.5.0

Version 2.0.3

  • List of issues solved for 2.0.3
  • Dropping a folder onto BowPad opens all files recursively
  • Improved GotoLine for search matches and file-open
  • Updated to latest Scintilla component 3.4.4

Version 2.0.2

  • List of issues solved for 2.0.2
  • use a different icon for documents

Version 2.0.1

  • List of issues solved for 2.0.1

Version 2.0.0

  • Added support for plugin scripts written in JScript or VBScript
  • List of issues solved for 2.0.0
  • Updated to latest Scintilla component 3.4.3

Version 1.1.8

  • Fixed issue in utf8 detection

Version 1.1.7

  • List of issues solved for 1.1.7
  • better handling of readonly files
  • Fixed issues with scrollbar repainting

Version 1.1.6

  • List of issues solved for 1.1.6
  • Updated to latest Scintilla component 3.4.1
  • Status bar shows tooltips with more detailed info
  • Improved handling of high dpi mode

Version 1.1.5

  • List of issues solved for 1.1.5
  • Updated to latest Scintilla component 3.4.0
  • AS and Markdown lexer styles

Version 1.1.4

  • List of issues solved for 1.1.4
  • It's now possible to delete the file that's shown in the current tab
  • The size of visible whitespace has been reduced

Version 1.1.3

  • List of issues solved for 1.1.3
  • Allow null matches in regex searches
  • replace strings in regex replacements are escaped

Version 1.1.2

  • Fix: "Find all" was broken
  • Issue #57: Rearrange buttons
  • Issue #58: Find replace default button and polishing
  • Issue #59: Reload fails to set the * modified indicator
  • Issue #63: Can't create a file from the command line if other tabs are open
  • New command to open a file at the caret position

Version 1.1.1

  • Fix: opening a file via double-click in Windows Explorer failed to add it to the MRU list
  • Issue #45: Find still retaining highlights after close
  • Issue #46: enhance readability of tab strips
  • Issue #48: Name section icons on the tool bar
  • Issue #49: Find/Replace dialog suggestions
  • Issue #50: improve the "corresponding file" interface
  • Add French translation
  • Issue #52: improve command line argument handling if file does not exist
  • Issue #40: rearranging some optionst

Version 1.1.0

  • Issue #35: Undo Redo icons are too similar.
  • Issue #36: Alt+Backspace (undo) makes annoying bell sound for each undo. Icon doesn't.
  • Issue #37: Save all via toolbar icon resets the cursor position
  • Issue #38: Shift+End with word wrap on takes me to end of the paragraph, not editor line
  • Issue #41: BowPad fills the MRU file list with random temp files
  • Issue #44: Consider changing how "changed" / "unsaved" is indicated.
  • Updated to latest Scintilla component 3.3.9
  • Allow showing EOLs using shift+ShowWhitespace
  • New command to convert text to Titlecase

Version 1.0.9

  • Issue #27: Consider moving "language" from "Encoding" on the View ribbon to "Code" on the Main ribbon.
  • Issue #28: Brace finishing is always on for any file type
  • Issue #29: Ctrl+O, probably should be a default and expected short cut for File Open
  • Fix: only mark the current/active tab with a red line, not all tabs

Version 1.0.8

  • Fix: "Trim Whitespaces" failed to work properly
  • Current tab is now underlined to make it more distinguishable
  • Issue #22: disable highlight when find dialog is closed
  • Issue #21: tag completion optional
  • Issue #24: Save disabled once one tab is saved
  • Issue #19: Multiple window / instance support
  • Issue #23: remember language for files without extension
  • Issue #25: Open Console with new tab (i.e. no file loaded) causes error

Version 1.0.7

  • Fix: after searching over all open tabs, the tabs were left as readonly
  • After showing the functions, those are added to the user functions of certain lexers
  • Issue #16: Style configurator -> extension
  • Issue #17: Help, especially on replace with regex
  • Issue #18: Clipboard is locked

Version 1.0.6

  • Issue #14: opening new file with "autoload session" activated puts opened file first
  • Fix a crash when pasting files from Explorer
  • Issue #15: Search over multiple files

Version 1.0.5

  • Context menu on file tabs
  • Issue #11: Custom shortcuts
  • Fix a crash when reloading a file
  • Issue #10: Make font size adjustable
  • Issue #13: Search for text in zoomed file then scroll down - BowPad hangs
  • Fix endless dialog loop when outside modifications are detected
  • Fix loading sessions: only the last loaded file restored the selection and position
  • Issue #12: Forward-slashed path errors
  • Paste a file from the clipboard opens the file
  • Clipboard history (use Ctrl+Shift+V)

Version 1.0.4

  • Fix showing wrong file content if the tabs were reordered too fast
  • Swedish translation
  • Fix replacing text: always start at the beginning of a selection if there is any
  • New Menu-Button showing a list of functions/methods in the current file
  • Issue #9: maximized window position not restored
  • If BowPad is running elevated, a shield icon is shown in the status bar
  • Issue #8: Allow opening/saving files by elevating the BowPad process with an UAC prompt
  • Better indication if a search does not find anything
  • Fix parsing color for the color popup

Version 1.0.3

  • Fix broken HTML lexing

Version 1.0.2

  • Issue #3: Fixed several issues with the comment/uncomment commands
  • Issue #4: changed wording of text
  • Issue #5: Added the "Open" command to the File group
  • Issue #6: Improved when the color popup is shown
  • Issue #7: Added commands to restore the last session
  • Use the HTML lexer for PHP

Version 1.0.1

  • Issue #2: fixed a problem which prevented all the settings from getting saved.

Initial Release

Released on 8.9.2013

\ No newline at end of file +BowPad History - Stefans Tools

Stefans Tools

Useful open source tools that make your life easier

Version 2.9.1

  • List of issues solved for 2.9.0
  • updated to Scintilla 5.5.1
  • numbers in the status bar are formatted with thousand-separators

Version 2.9.0

  • List of issues solved for 2.9.0
  • updated to Scintilla 5.5.0

Version 2.8.9

  • List of issues solved for 2.8.9
  • Fixed problem where file was not loaded/shown empty when encoding detection failed
  • updated to Scintilla 5.3.5

Version 2.8.8

  • List of issues solved for 2.8.8

Version 2.8.7

  • fixed bug that when clicking on a tab the tab was not selected

Version 2.8.6

  • updated to Scintilla 5.3.2 and Lexilla 5.2.1
  • List of issues solved for 2.8.6
  • Improved visibility of active tab
  • Mark modified lines in the left bar

Version 2.8.5

  • Fixed a crash when activating the spell checker
  • Fixed drawing the bookmarks in the left margin

Version 2.8.4

  • updated to Scintilla 5.3.0
  • List of issues solved for 2.8.4
  • build for ARM64 based OS is now available
  • change markers shown in the left margin

Version 2.8.3

  • updated to Scintilla 5.2.3
  • List of issues solved for 2.8.3
  • auto-completion for math formulas that are on a single line

Version 2.8.2

  • updated to Scintilla 5.2.0
  • use the uchardet lib for better detection of file encodings
  • List of issues solved for 2.8.2

Version 2.8.1

  • context menu entry for the Win11 explorer
  • updated to Scintilla 5.1.3
  • List of issues solved for 2.8.1

Version 2.8.0

  • updated to Scintilla 5.1.0
  • List of issues solved for 2.8.0

Version 2.7.1

  • updated to Scintilla 5.0.2
  • Huge list of issues solved for 2.7.1

Version 2.7.0

  • updated to Scintilla 4.4.6
  • autocompletion
  • code snippets
  • many more new features...
  • Huge list of issues solved for 2.7.0

Version 2.6.5

  • updated to Scintilla 4.4.5
  • fixed a few issues with clipboard handling
  • fixed drag and drop when run elevated
  • List of issues solved for 2.6.5

Version 2.6.4

  • List of issues solved for 2.6.4

Version 2.6.3

  • List of issues solved for 2.6.3
  • better detection of numbers for tooltips
  • more command tooltips contain the keyboard shortcut
  • updated to Scintilla 4.4.4

Version 2.6.2

  • when moving a tab to another instance, it lost the lexer
  • styling fixes for Nant and makefiles
  • improved the simple lexer

Version 2.6.1

  • fixed broken update check
  • new regex capture dialog

Version 2.6.0

Version 2.5.2

  • List of issues solved for 2.5.2
  • updated to Scintilla 4.3.3
  • improved folding

Version 2.5.1

  • List of issues solved for 2.5.1
  • updated to Scintilla 4.3.2
  • dark mode enabled for dialogs
  • improved button states for plugins
  • math expressions are evaluated and the result shown in a tooltip

Version 2.5.0

  • List of issues solved for 2.5.0
  • updated to Scintilla 4.3.0
  • fixed: ctrl+doubleclick on text could open an empty browser

Version 2.4.5

  • The 'uncomment' function failed to work properly for some lexers
  • language files were the wrong version

Version 2.4.4

  • List of issues solved for 2.4.4
  • updated to Scintilla 4.2.0
  • some more fixes for high dpi displays
  • altcode-sequences didn't work

Version 2.4.3

  • List of issues solved for 2.4.3
  • updated to Scintilla 4.1.3
  • various fixes and improvements for high dpi displays

Version 2.4.2

  • Language files were missing in 2.4.1
  • Improved icons for dark mode

Version 2.4.1

  • List of issues solved for 2.4.1
  • updated to Scintilla 4.1.2
  • improved jumplist, added an entry to start BowPad with Admin privileges
  • BowPad uses the proper dark mode for the ribbon with Windows 10 update 1809

Version 2.4.0

  • New main icon
  • updated to Scintilla 4.1.1
  • fixed wrong filename when tearing a tab to a new BowPad instance

Version 2.3.9

  • List of issues solved for 2.3.9
  • fixed: crash with long lines in .editorconfig file
  • updated to Scintilla 4.1.0
  • performance improvements for the file tree
  • preliminary support for R2L languages

Version 2.3.8

  • List of issues solved for 2.3.8
  • fixed: documents were loaded before a restored session instead of after it
  • updated to Scintilla 4.0.5

Version 2.3.7

  • List of issues solved for 2.3.7
  • Bookmarks are kept when moving a tab to a new process

Version 2.3.6

  • Button in statusbar to allow turning the .editorconfig off
  • fixed delay when closing the window

Version 2.3.5

  • List of issues solved for 2.3.5
  • Updated to the latest Scintilla component 4.0.2
  • fixed possible crash if a path got deleted

Version 2.3.4

  • List of issues solved for 2.3.4
  • Performance improvements in the file tree
  • fixed possible hang if a file got deleted
  • fixed editorconfig issues

Version 2.3.3

  • updated to latest Scintilla component 3.7.5
  • recognize more file extensions for lexers
  • fixed hiding the cursor when scrolling
  • fixed handling of EOLs in certain situations
  • allow to set the default EOL for new files

Version 2.3.2

  • updated to latest Scintilla component 3.7.4
  • improved UI responsivness
  • improved UI using animations
  • fixed situation where the tab-to-spaces and spaces-to-tabs skipped a lot of code
  • the setting spaces/tabs is now stored per document instead of globally
  • reduced flicker when drawing the scrollbars
  • fixed styling issue when reloading

Version 2.3.1

  • updated to latest Scintilla component 3.7.3
  • improved status bar
  • fixed startup flickering
  • fixed flickering when resizing the window
  • fixed losing the lexer when refreshing/reloading

Version 2.3.0

  • updated to latest Scintilla component 3.7.2
  • enabled folding for Python
  • possibility to mark a file as write protected
  • performance improvements
  • fix drawing when showing a dialog during file loading
  • better tooltip when showing colors
  • styles for EDIFact files
  • tracking tooltip showing the current line
  • allow moving lines without a selection
  • fix sizes for high dpi monitors
  • improved function detection

Version 2.2.5

  • updated to latest Scintilla component 3.7.0
  • fixed color highlighting in tooltip
  • bookmarks were not updated in the scroll bar immediately
  • selection count wasn't shown if equal to search mark
  • wheel scrolling of tab bar works now on all OS versions

Version 2.2.4

  • updated to latest Scintilla component 3.6.7
  • improved function parsing
  • fixed crash when searching a path that does not exist
  • improved searching binary files
  • option to load files as utf8 by default
  • fixed recognition of EOLs

Version 2.2.3

  • improved c# function parsing regex
  • new variables for run commands: $(TAB_NAME) and $(TAB_EXT)
  • improved performance when loading many files
  • improved auto-brace feature
  • tab bar can be scrolled with the mouse wheel
  • fixed showing wrong mouse cursor

Version 2.2.2

  • updated to latest Scintilla component 3.6.6
  • New command: goto symbol/function
  • improved "goto brace"
  • more improvements to session loading
  • improved the hoover tooltip
  • two new buttons on the top right to close the current tab and to open a new one
  • various small bug fixes

Version 2.2.1

  • Fixed a crash when open files get renamed/deleted
  • Improved and extended the search feature
  • updated to latest Scintilla component 3.6.4
  • Improved speed when restoring a session
  • changing style colors does not switch to bright mode anymore

Version 2.2.0

  • Fixed problem with prev/next command
  • Improved the custom style dialog
  • Fixed problem with cursor hiding
  • Improved the search/replace feature
  • Fixed problem where a tab-move to a new BowPad instance would lose not-saved data
  • Failed to ask to save changes in some situations
  • Improved C++ function recognition

Version 2.1.3

  • Files can be opened into an existing empty tab with the Ctrl key pressed
  • Fixed problem when quitting and hitting Cancel in the save-as dialog
  • Improved tab UI
  • Fixed a few issues with the function lists

Version 2.1.2

  • updated to latest Scintilla component 3.6.1
  • Fixed an issue when pasting HDROP items from the clipboard
  • Allow dropping file tabs onto the file tree to move/copy the file
  • Improved lexer detection for files without extensions

Version 2.1.1

  • updated to latest Scintilla component 3.6.0
  • Fixed an issue with opening files as a notepad replacement
  • Allow specifying a lexer based on a filename
  • When opening files from a previous session, don't show errors if the file(s) don't exist anymore

Version 2.1.0

  • updated to latest Scintilla component 3.5.7
  • Fixed an issue with coloring regex search matches
  • Fixed printing when the dark theme was active

Version 2.0.20

  • List of issues solved for 2.0.20
  • updated to latest Scintilla component 3.5.5

Version 2.0.19

  • List of issues solved for 2.0.19
  • Fixed an issue in the file tree when opening folders two levels below root

Version 2.0.18

  • List of issues solved for 2.0.18
  • Speed improvements when searching
  • Spell checker improvements, doesn't stall if the document is big
  • File tree refreshes if the document is refreshed
  • updated to latest Scintilla component 3.5.4

Version 2.0.17

  • List of issues solved for 2.0.17

Version 2.0.16

  • Fixed issues with the file tree not updating correctly

Version 2.0.15

  • List of issues solved for 2.0.15
  • improved handling of brace highlighting
  • When a file is changed outside of BowPad, it is reloaded automatically if the file has no edits in BowPad
  • File tree expands automatically if the current tab is in a subfolder of the file tree root
  • Fixed problems with converting tabs to spaces (and vice versa) in html/xml files
  • new feature to automatically save modified files

Version 2.0.14

  • List of issues solved for 2.0.14

Version 2.0.13

  • List of issues solved for 2.0.13
  • fixed a few issues with the file tree handling
  • fixed problems with the detection of modifications

Version 2.0.12

  • List of issues solved for 2.0.12
  • file tree loads in separat thread, no longer blocking the UI
  • Updated to the latest Scintilla component 3.5.3

Version 2.0.11

  • List of issues solved for 2.0.11
  • Improved load speed in the file tree
  • Updated to the latest Scintilla component 3.5.2

Version 2.0.10

  • List of issues solved for 2.0.10
  • Improved the file tree
  • Fixed problem when opening BowPad with a right-click in explorer from a folder background

Version 2.0.9

  • List of issues solved for 2.0.9
  • Added explorer context menu entry for folders and folder backgrounds

Version 2.0.8

  • List of issues solved for 2.0.8
  • Added a file tree, showing the directory of the first loaded file

Version 2.0.7

  • List of issues solved for 2.0.7
  • Updated to the latest Scintilla component 3.5.1
  • Added coloring for the new BibTex lexer

Version 2.0.6

  • List of issues solved for 2.0.6

Version 2.0.5

  • List of issues solved for 2.0.5
  • improvements for high dpi monitors
  • handling touch gestures

Version 2.0.4

  • List of issues solved for 2.0.4
  • new command to sort lines
  • Updated to latest Scintilla component 3.5.0

Version 2.0.3

  • List of issues solved for 2.0.3
  • Dropping a folder onto BowPad opens all files recursively
  • Improved GotoLine for search matches and file-open
  • Updated to latest Scintilla component 3.4.4

Version 2.0.2

  • List of issues solved for 2.0.2
  • use a different icon for documents

Version 2.0.1

  • List of issues solved for 2.0.1

Version 2.0.0

  • Added support for plugin scripts written in JScript or VBScript
  • List of issues solved for 2.0.0
  • Updated to latest Scintilla component 3.4.3

Version 1.1.8

  • Fixed issue in utf8 detection

Version 1.1.7

  • List of issues solved for 1.1.7
  • better handling of readonly files
  • Fixed issues with scrollbar repainting

Version 1.1.6

  • List of issues solved for 1.1.6
  • Updated to latest Scintilla component 3.4.1
  • Status bar shows tooltips with more detailed info
  • Improved handling of high dpi mode

Version 1.1.5

  • List of issues solved for 1.1.5
  • Updated to latest Scintilla component 3.4.0
  • AS and Markdown lexer styles

Version 1.1.4

  • List of issues solved for 1.1.4
  • It's now possible to delete the file that's shown in the current tab
  • The size of visible whitespace has been reduced

Version 1.1.3

  • List of issues solved for 1.1.3
  • Allow null matches in regex searches
  • replace strings in regex replacements are escaped

Version 1.1.2

  • Fix: "Find all" was broken
  • Issue #57: Rearrange buttons
  • Issue #58: Find replace default button and polishing
  • Issue #59: Reload fails to set the * modified indicator
  • Issue #63: Can't create a file from the command line if other tabs are open
  • New command to open a file at the caret position

Version 1.1.1

  • Fix: opening a file via double-click in Windows Explorer failed to add it to the MRU list
  • Issue #45: Find still retaining highlights after close
  • Issue #46: enhance readability of tab strips
  • Issue #48: Name section icons on the tool bar
  • Issue #49: Find/Replace dialog suggestions
  • Issue #50: improve the "corresponding file" interface
  • Add French translation
  • Issue #52: improve command line argument handling if file does not exist
  • Issue #40: rearranging some optionst

Version 1.1.0

  • Issue #35: Undo Redo icons are too similar.
  • Issue #36: Alt+Backspace (undo) makes annoying bell sound for each undo. Icon doesn't.
  • Issue #37: Save all via toolbar icon resets the cursor position
  • Issue #38: Shift+End with word wrap on takes me to end of the paragraph, not editor line
  • Issue #41: BowPad fills the MRU file list with random temp files
  • Issue #44: Consider changing how "changed" / "unsaved" is indicated.
  • Updated to latest Scintilla component 3.3.9
  • Allow showing EOLs using shift+ShowWhitespace
  • New command to convert text to Titlecase

Version 1.0.9

  • Issue #27: Consider moving "language" from "Encoding" on the View ribbon to "Code" on the Main ribbon.
  • Issue #28: Brace finishing is always on for any file type
  • Issue #29: Ctrl+O, probably should be a default and expected short cut for File Open
  • Fix: only mark the current/active tab with a red line, not all tabs

Version 1.0.8

  • Fix: "Trim Whitespaces" failed to work properly
  • Current tab is now underlined to make it more distinguishable
  • Issue #22: disable highlight when find dialog is closed
  • Issue #21: tag completion optional
  • Issue #24: Save disabled once one tab is saved
  • Issue #19: Multiple window / instance support
  • Issue #23: remember language for files without extension
  • Issue #25: Open Console with new tab (i.e. no file loaded) causes error

Version 1.0.7

  • Fix: after searching over all open tabs, the tabs were left as readonly
  • After showing the functions, those are added to the user functions of certain lexers
  • Issue #16: Style configurator -> extension
  • Issue #17: Help, especially on replace with regex
  • Issue #18: Clipboard is locked

Version 1.0.6

  • Issue #14: opening new file with "autoload session" activated puts opened file first
  • Fix a crash when pasting files from Explorer
  • Issue #15: Search over multiple files

Version 1.0.5

  • Context menu on file tabs
  • Issue #11: Custom shortcuts
  • Fix a crash when reloading a file
  • Issue #10: Make font size adjustable
  • Issue #13: Search for text in zoomed file then scroll down - BowPad hangs
  • Fix endless dialog loop when outside modifications are detected
  • Fix loading sessions: only the last loaded file restored the selection and position
  • Issue #12: Forward-slashed path errors
  • Paste a file from the clipboard opens the file
  • Clipboard history (use Ctrl+Shift+V)

Version 1.0.4

  • Fix showing wrong file content if the tabs were reordered too fast
  • Swedish translation
  • Fix replacing text: always start at the beginning of a selection if there is any
  • New Menu-Button showing a list of functions/methods in the current file
  • Issue #9: maximized window position not restored
  • If BowPad is running elevated, a shield icon is shown in the status bar
  • Issue #8: Allow opening/saving files by elevating the BowPad process with an UAC prompt
  • Better indication if a search does not find anything
  • Fix parsing color for the color popup

Version 1.0.3

  • Fix broken HTML lexing

Version 1.0.2

  • Issue #3: Fixed several issues with the comment/uncomment commands
  • Issue #4: changed wording of text
  • Issue #5: Added the "Open" command to the File group
  • Issue #6: Improved when the color popup is shown
  • Issue #7: Added commands to restore the last session
  • Use the HTML lexer for PHP

Version 1.0.1

  • Issue #2: fixed a problem which prevented all the settings from getting saved.

Initial Release

Released on 8.9.2013

\ No newline at end of file diff --git a/BowPad_lexerconfig.html b/BowPad_lexerconfig.html index 58c2d35b..c665ad91 100644 --- a/BowPad_lexerconfig.html +++ b/BowPad_lexerconfig.html @@ -66,4 +66,4 @@ ann000text=draw a circle ann001regex=^mv\d+(,\d+)* ann001text=move to -

the options:

Prop_foldComments
1 to fold comments
Prop_wsNCaseSensitive
1 to have the keyword set behave case-sensitive. Note: if not set or set to 0 (case-insensitive), the keywords must be set in lowercase.
Prop_foldAtWS1
if 1, every keyword is a folding point
Prop_stringchars
the chars that mark a string, usually " and '
Prop_stylenumbers
1 to style numbers, otherwise numbers are not colored
Prop_operators
the operators
Prop_markedWords1
a char or string that marks a special word which is colored separately. For example you can mark all words that start with a $ separately, or if you specify e.g. Gtk_ every word that starts with that will be colored as well.

\ No newline at end of file +

the options:

Prop_foldComments
1 to fold comments
Prop_wsNCaseSensitive
1 to have the keyword set behave case-sensitive. Note: if not set or set to 0 (case-insensitive), the keywords must be set in lowercase.
Prop_foldAtWS1
if 1, every keyword is a folding point
Prop_stringchars
the chars that mark a string, usually " and '
Prop_stylenumbers
1 to style numbers, otherwise numbers are not colored
Prop_operators
the operators
Prop_markedWords1
a char or string that marks a special word which is colored separately. For example you can mark all words that start with a $ separately, or if you specify e.g. Gtk_ every word that starts with that will be colored as well.

\ No newline at end of file diff --git a/BowPad_plugins.html b/BowPad_plugins.html index 5640585d..995a7100 100644 --- a/BowPad_plugins.html +++ b/BowPad_plugins.html @@ -194,4 +194,4 @@ var foundPos = BowPad.SciFindText(flags, minPos, maxPos, "text to search for").toArray(); var startPos = foundPos[0]; var endPos = foundPos[1]; - \ No newline at end of file + \ No newline at end of file diff --git a/BowPad_translate.html b/BowPad_translate.html index 5203d533..882076b5 100644 --- a/BowPad_translate.html +++ b/BowPad_translate.html @@ -1 +1 @@ -BowPad: Translate the UI - Stefans Tools

Stefans Tools

Useful open source tools that make your life easier

Translate the User Interface

BowPad can show the UI in various languages, but if your language of choice is not available, you can help creating it.

1. Get the required file

To translate the UI of BowPad into a specific language, you first need the file with all the strings you have to translate.

The file is stored in our source repository, you can get it from there: https://github.com/stefankueng/BowPad/blob/main/Languages/BowPad.pot.
This is the file for the development version, so if you use this to start your translation, you will have all the required strings in there.

If you're starting with your translation, then you first have to rename this file to BowPad_XX.po with XX being the ISO-639-1 language code.

2. Start translating

You could translate the strings with a simple text editor (e.g., BowPad), but I recommend a special po-file editor. For example:

Now open the po-file in your tool of choice and start translating the strings.

Careful with special chars

If you encounter special strings or chars in the original English string, make sure you copy that part without changing it. For example tokens like %ld are used to format the output. Make sure you keep those as is, otherwise you will make BowPad crash when it uses your translated string!

3. Test the translation

If you want to test the translation, you can use a tool like Resource Hacker with the *.lang file. *.lang files are resource dlls.

If you can't test your translation, you can skip to step 4.

4. Send the translated file

When you finished translating all the strings, create a new issue in our issue tracker and attach the file to it.

\ No newline at end of file +BowPad: Translate the UI - Stefans Tools

Stefans Tools

Useful open source tools that make your life easier

Translate the User Interface

BowPad can show the UI in various languages, but if your language of choice is not available, you can help creating it.

1. Get the required file

To translate the UI of BowPad into a specific language, you first need the file with all the strings you have to translate.

The file is stored in our source repository, you can get it from there: https://github.com/stefankueng/BowPad/blob/main/Languages/BowPad.pot.
This is the file for the development version, so if you use this to start your translation, you will have all the required strings in there.

If you're starting with your translation, then you first have to rename this file to BowPad_XX.po with XX being the ISO-639-1 language code.

2. Start translating

You could translate the strings with a simple text editor (e.g., BowPad), but I recommend a special po-file editor. For example:

Now open the po-file in your tool of choice and start translating the strings.

Careful with special chars

If you encounter special strings or chars in the original English string, make sure you copy that part without changing it. For example tokens like %ld are used to format the output. Make sure you keep those as is, otherwise you will make BowPad crash when it uses your translated string!

3. Test the translation

If you want to test the translation, you can use a tool like Resource Hacker with the *.lang file. *.lang files are resource dlls.

If you can't test your translation, you can skip to step 4.

4. Send the translated file

When you finished translating all the strings, create a new issue in our issue tracker and attach the file to it.

\ No newline at end of file diff --git a/CommitMonitor.html b/CommitMonitor.html index f672f9ba..3d650324 100644 --- a/CommitMonitor.html +++ b/CommitMonitor.html @@ -1 +1 @@ -CommitMonitor - Stefans Tools

Stefans Tools

Useful open source tools that make your life easier

CommitMonitor

CommitMonitor is a small tool to monitor Apache Subversion® repositories for new commits. It has a very small memory footprint and resides in the system tray.

Main Dialog

In case you have multiple repositories under an SVNParentPath with the SVNListParentPath directive activated in Apache, CommitMonitor can monitor these URLs too, as you can see in the screenshot above: the "Private Projects" is shown as a folder, which means this is an URL to an SVNParentPath URL.

The new commits are shown on the top right of the main dialog, while the commit log message is shown at the bottom right.

A double click on any revision in the top right view will fetch the diff for that revision as a unified diff so you can further inspect the commit. If you have TortoiseSVN installed, CommitMonitor automatically uses TortoiseSVN to do the diff.

TortoiseSVN Project Monitor

Note that TortoiseSVN 1.9 and later has a project monitor included, which has similar features as the CommitMonitor.

A good description on the TortoiseSVN project monitor can be found in the docs.

Of course, you can configure the time interval CommitMonitor should check your repositories for new commits:

EditURL

Just make sure in case you want to monitor a public open source repository to set the check interval not too small - you don't want to hammer those repositories!

You can also put an svnrobots.txt file on your repository server to set a minimum time interval. See the svnrobots documentation for more details about this.

Once CommitMonitor has found new commits to one or more of the repositories you monitor, it shows a notification popup, and the system tray icon changes the "eyes" from black to red. And if you have the system tray animation enabled in the Options dialog, the eyes will also move around until you open CommitMonitor's main dialog (by doubleclicking on the system tray icon) and read the commits.

Notification

If you have Snarl installed, CommitMonitor automatically uses Snarl to show its popups:

Snarl popup

CommitMonitor also registers itself with Snarl which will allow you to configure the popups in more detail:

Snarl config

As already mentioned, CommitMonitor resides in your system tray (if so required). Tools which do that should use as less resources as possible, and that's what CommitMonitor tries to do. As you can see in the screenshot below, when the program is idle (i.e., not currently connecting to a repository and downloading information) it only uses about 1MB of RAM. Of course, it uses more (about 15MB RAM) while it accesses the repositories.

Memory Footprint

CommitMonitor is available under the GNU GPL v2.
You can either download an msi installer or a zipped exe file, whatever suits you: Download page
Of course, the source code is available too. You can browse or check it out directly from the Subversion repository.

Windows XP not supported

CommitMonitor requires Windows Vista or later. It won't work on Windows XP!

\ No newline at end of file +CommitMonitor - Stefans Tools

Stefans Tools

Useful open source tools that make your life easier

CommitMonitor

CommitMonitor is a small tool to monitor Apache Subversion® repositories for new commits. It has a very small memory footprint and resides in the system tray.

Main Dialog

In case you have multiple repositories under an SVNParentPath with the SVNListParentPath directive activated in Apache, CommitMonitor can monitor these URLs too, as you can see in the screenshot above: the "Private Projects" is shown as a folder, which means this is an URL to an SVNParentPath URL.

The new commits are shown on the top right of the main dialog, while the commit log message is shown at the bottom right.

A double click on any revision in the top right view will fetch the diff for that revision as a unified diff so you can further inspect the commit. If you have TortoiseSVN installed, CommitMonitor automatically uses TortoiseSVN to do the diff.

TortoiseSVN Project Monitor

Note that TortoiseSVN 1.9 and later has a project monitor included, which has similar features as the CommitMonitor.

A good description on the TortoiseSVN project monitor can be found in the docs.

Of course, you can configure the time interval CommitMonitor should check your repositories for new commits:

EditURL

Just make sure in case you want to monitor a public open source repository to set the check interval not too small - you don't want to hammer those repositories!

You can also put an svnrobots.txt file on your repository server to set a minimum time interval. See the svnrobots documentation for more details about this.

Once CommitMonitor has found new commits to one or more of the repositories you monitor, it shows a notification popup, and the system tray icon changes the "eyes" from black to red. And if you have the system tray animation enabled in the Options dialog, the eyes will also move around until you open CommitMonitor's main dialog (by doubleclicking on the system tray icon) and read the commits.

Notification

If you have Snarl installed, CommitMonitor automatically uses Snarl to show its popups:

Snarl popup

CommitMonitor also registers itself with Snarl which will allow you to configure the popups in more detail:

Snarl config

As already mentioned, CommitMonitor resides in your system tray (if so required). Tools which do that should use as less resources as possible, and that's what CommitMonitor tries to do. As you can see in the screenshot below, when the program is idle (i.e., not currently connecting to a repository and downloading information) it only uses about 1MB of RAM. Of course, it uses more (about 15MB RAM) while it accesses the repositories.

Memory Footprint

CommitMonitor is available under the GNU GPL v2.
You can either download an msi installer or a zipped exe file, whatever suits you: Download page
Of course, the source code is available too. You can browse or check it out directly from the Subversion repository.

Windows XP not supported

CommitMonitor requires Windows Vista or later. It won't work on Windows XP!

\ No newline at end of file diff --git a/CryptSync.html b/CryptSync.html index d5b68441..d91a2f4f 100644 --- a/CryptSync.html +++ b/CryptSync.html @@ -1 +1 @@ -CryptSync - Stefans Tools

Stefans Tools

Useful open source tools that make your life easier

CryptSync

CryptSync is a small utility that synchronizes two folders while encrypting the contents in one folder. That means one of the two folders has all files unencrypted (the files you work with) and the other folder has all the files encrypted.

The synchronization works both ways: a change in one folder gets synchronized to the other folder. If a file is added or modified in the unencrypted folder, it gets encrypted. If a file is added or modified in the encrypted folder, it gets decrypted to the other folder.

CryptSync overview

This is best used together with cloud storage tools like OneDrive, DropBox or Google Drive.

If you want to use such cloud storage for backups, it's a good idea to keep your private data really private. That means only uploading encrypted files to make sure no one else can access your data. Because even if the companies behind the cloud storage guarantee your privacy, it's always possible that your account gets hacked: so make sure you use a different password to encrypt the data with CryptSync than you use to login to your cloud storage provider!

If you want to backup and encrypt your files to more than one cloud storage (just to be safe), you can do that as well: just set up two sync pairs with the original folder being the same for both pairs.

Of course, you can use CryptSync for backups to an external drive as well. You can even use CryptSync from the command line to trigger your encrypted backups.

CryptSync works by synchronizing folder pairs. One folder is called the original folder: that's where your unencrypted files are stored and where you work with your files. The second folder of such a pair is the encrypted folder which is where the files get copied from the original folder and encrypted. The encrypted folder is usually located somewhere inside your cloud storage sync folder.

The encryption is done using the LZMA SDK, which also compress them at the same time. That means you not only get encryption but also compression for free, which reduces the storage space you use in the cloud or the backup space on your external harddrive.

That also means that if you ever need to access your encrypted files directly from the cloud, you can save them locally and just open them with 7-Zip or any other compression tool. Of course you will then be asked to provide the password you used with CryptSync to open that file.

Optionally the encryption can be done using GnuPG. Please note that when using this option, the encrypted files can be larger than the original files and use up more space on your cloud drive.

When you first start CryptSync, the main dialog is shown where you have to set up the folders to synchronize.

Main dialog

To add a folder pair, click on the button and then enter the paths to both folders. Then enter the password that will be used to encrypt and decrypt your files.

Add Pair dialog

Since even filenames can reveal private information, you can have CryptSync also encrypt the filenames. But remember that if you activate this option, you won't be able to tell what file is what if you ever need to access them from your cloud storage providers web interface. Names of subfolders are encrypted as well.

Long paths

When encrypting the file and folder names without the new filename encryptions, you have to make sure that the original file and folder names are not longer than about 120 characters. Because encrypting those names approximately doubles their length, and Windows has a limit of 255 chars per file or folder name.

The main dialog has three buttons to dismiss it:

Run in background
This is the default. CryptSync will run in the background and monitor all the folder pairs for changes. Once it detects a change, it will automatically synchronize that change immediately. This is also the only way to detect deletions of files.
Sync files and exit
This will synchronize all folder pairs while showing you the progress of the synchronization. Once all folders are synchronized and up to date, CryptSync will exit and not run in the background.
Exit
Closes the dialog and quits CryptSync. It will not keep running in the background.

Command Line Options

CryptSync can also be used from the command line. The following options are available:

/help
shows a dialog with the command line options
/src:"path"
specifies the path to the source folder where the unencrypted files are located. This parameter is not optional!
/dst:"path"
specifies the path to the destination folder where the encrypted files are located. This parameter is not optional!
/pw:"password"
specifies the password used for the encryption
/cpy:"pattern"
file pattern of files that are copied only, not encrypted
/nsy:"pattern"
file pattern of files that are not synched at all
/encnamesNew
if specified, the file and foldernames are also encrypted using the new algorithm in the destination folder
/encnames
if specified, the file and foldernames are also encrypted in the destination folder. This uses an old algorithm for encrypting the filenames which can lead to exceeding the path length limit of Windows. You should use /encnamesNew instead
/encnamesNew
if specified, the file and foldernames are also encrypted in the destination folder with the new filename encryption
/mirror
if specified, the source folder is synched to the destination folder but changes in the destination folder are not synchronized back to the source folder
/mirrorback
if specified, the destination folder is synched back to the source folder, but changes in the source folder are not synchronized to the destination folder.
/decryptonly
like /mirrorback, but does not synchronize deletions.
/use7z
use .7z extension instead of .cryptsync
/useGPG
uses GnuPG for the encryption. Note: you have to install GnuPG yourself.
/fat
use FAT write time accuracy (2seconds)
/ignore
Sets the ignore pattern
/ignore:"ignore|pattern"
specifies the ignore patterns to use. If not specified, the ignore pattern that has been set before is used.
/progress
if specified, a progress dialog is shown during the synchronization
/syncall
syncs all set up folder pairs, then exits
/logpath:"path"
specifies the path to the log file
/maxlog:nnn
specifies the maximum number of lines the log file will grow to
/tray
starts CryptSync in background, no dialog is shown
/ncp
encrypt only/don't compress pattern
/compresssize
turn off compression for files bigger than this size in MB
/nosyncdeleted
if specified, deletions are not synchronized. Only useful if also /mirror or /mirrorback is specified
/resetarchiveattr
reset archive attribute on original after succsssful encryption or copy

The %ERRORLEVEL% is set to a bitmask on return, or zero on success:

  • 1: cancelled
  • 2: access denied
  • 4: en/decryption error
  • 8: copy error

Download installer / Project Page.

Windows XP/Vista not supported

CryptSync requires Windows 7 or later. It won't work on Windows XP or Vista!

\ No newline at end of file +CryptSync - Stefans Tools

Stefans Tools

Useful open source tools that make your life easier

CryptSync

CryptSync is a small utility that synchronizes two folders while encrypting the contents in one folder. That means one of the two folders has all files unencrypted (the files you work with) and the other folder has all the files encrypted.

The synchronization works both ways: a change in one folder gets synchronized to the other folder. If a file is added or modified in the unencrypted folder, it gets encrypted. If a file is added or modified in the encrypted folder, it gets decrypted to the other folder.

CryptSync overview

This is best used together with cloud storage tools like OneDrive, DropBox or Google Drive.

If you want to use such cloud storage for backups, it's a good idea to keep your private data really private. That means only uploading encrypted files to make sure no one else can access your data. Because even if the companies behind the cloud storage guarantee your privacy, it's always possible that your account gets hacked: so make sure you use a different password to encrypt the data with CryptSync than you use to login to your cloud storage provider!

If you want to backup and encrypt your files to more than one cloud storage (just to be safe), you can do that as well: just set up two sync pairs with the original folder being the same for both pairs.

Of course, you can use CryptSync for backups to an external drive as well. You can even use CryptSync from the command line to trigger your encrypted backups.

CryptSync works by synchronizing folder pairs. One folder is called the original folder: that's where your unencrypted files are stored and where you work with your files. The second folder of such a pair is the encrypted folder which is where the files get copied from the original folder and encrypted. The encrypted folder is usually located somewhere inside your cloud storage sync folder.

The encryption is done using the LZMA SDK, which also compress them at the same time. That means you not only get encryption but also compression for free, which reduces the storage space you use in the cloud or the backup space on your external harddrive.

That also means that if you ever need to access your encrypted files directly from the cloud, you can save them locally and just open them with 7-Zip or any other compression tool. Of course you will then be asked to provide the password you used with CryptSync to open that file.

Optionally the encryption can be done using GnuPG. Please note that when using this option, the encrypted files can be larger than the original files and use up more space on your cloud drive.

When you first start CryptSync, the main dialog is shown where you have to set up the folders to synchronize.

Main dialog

To add a folder pair, click on the button and then enter the paths to both folders. Then enter the password that will be used to encrypt and decrypt your files.

Add Pair dialog

Since even filenames can reveal private information, you can have CryptSync also encrypt the filenames. But remember that if you activate this option, you won't be able to tell what file is what if you ever need to access them from your cloud storage providers web interface. Names of subfolders are encrypted as well.

Long paths

When encrypting the file and folder names without the new filename encryptions, you have to make sure that the original file and folder names are not longer than about 120 characters. Because encrypting those names approximately doubles their length, and Windows has a limit of 255 chars per file or folder name.

The main dialog has three buttons to dismiss it:

Run in background
This is the default. CryptSync will run in the background and monitor all the folder pairs for changes. Once it detects a change, it will automatically synchronize that change immediately. This is also the only way to detect deletions of files.
Sync files and exit
This will synchronize all folder pairs while showing you the progress of the synchronization. Once all folders are synchronized and up to date, CryptSync will exit and not run in the background.
Exit
Closes the dialog and quits CryptSync. It will not keep running in the background.

Command Line Options

CryptSync can also be used from the command line. The following options are available:

/help
shows a dialog with the command line options
/src:"path"
specifies the path to the source folder where the unencrypted files are located. This parameter is not optional!
/dst:"path"
specifies the path to the destination folder where the encrypted files are located. This parameter is not optional!
/pw:"password"
specifies the password used for the encryption
/cpy:"pattern"
file pattern of files that are copied only, not encrypted
/nsy:"pattern"
file pattern of files that are not synched at all
/encnamesNew
if specified, the file and foldernames are also encrypted using the new algorithm in the destination folder
/encnames
if specified, the file and foldernames are also encrypted in the destination folder. This uses an old algorithm for encrypting the filenames which can lead to exceeding the path length limit of Windows. You should use /encnamesNew instead
/encnamesNew
if specified, the file and foldernames are also encrypted in the destination folder with the new filename encryption
/mirror
if specified, the source folder is synched to the destination folder but changes in the destination folder are not synchronized back to the source folder
/mirrorback
if specified, the destination folder is synched back to the source folder, but changes in the source folder are not synchronized to the destination folder.
/decryptonly
like /mirrorback, but does not synchronize deletions.
/use7z
use .7z extension instead of .cryptsync
/useGPG
uses GnuPG for the encryption. Note: you have to install GnuPG yourself.
/fat
use FAT write time accuracy (2seconds)
/ignore
Sets the ignore pattern
/ignore:"ignore|pattern"
specifies the ignore patterns to use. If not specified, the ignore pattern that has been set before is used.
/progress
if specified, a progress dialog is shown during the synchronization
/syncall
syncs all set up folder pairs, then exits
/logpath:"path"
specifies the path to the log file
/maxlog:nnn
specifies the maximum number of lines the log file will grow to
/tray
starts CryptSync in background, no dialog is shown
/ncp
encrypt only/don't compress pattern
/compresssize
turn off compression for files bigger than this size in MB
/nosyncdeleted
if specified, deletions are not synchronized. Only useful if also /mirror or /mirrorback is specified
/resetarchiveattr
reset archive attribute on original after succsssful encryption or copy

The %ERRORLEVEL% is set to a bitmask on return, or zero on success:

  • 1: cancelled
  • 2: access denied
  • 4: en/decryption error
  • 8: copy error

Download installer / Project Page.

Windows XP/Vista not supported

CryptSync requires Windows 7 or later. It won't work on Windows XP or Vista!

\ No newline at end of file diff --git a/DemoHelper.html b/DemoHelper.html index b4e23871..742d9997 100644 --- a/DemoHelper.html +++ b/DemoHelper.html @@ -1 +1 @@ -DemoHelper - Stefans Tools

Stefans Tools

Useful open source tools that make your life easier

DemoHelper

DemoHelper Icon

A tool which helps in demonstrations, presentations or if you just need to explain someone something on your computer.

DemoHelper is an annotation and screen zoom tool you can use for technical presentations that include application demonstrations.

DemoHelper runs unobtrusively in the system tray and is activated by either customizable hotkeys or the context menu of the tray icon.

You can draw on the screen to mark special areas, or you can zoom in on an area on the screen.

Use cases include meetings where you have to explain something on the screen or teachers presenting lectures to students in computer classes.

Windows

DemoHelper requires Windows 8 or later.

Basic operation

DemoHelper runs in the system tray, where you can activate and configure it with a simple right-click:

DemoHelper Context Menu

In the options dialog, you can configure the hotkeys for the two main modes of operation: zooming and drawing.

DemoHelper Options

To start the drawing mode, either press the hotkey you configured for it, or double-click on the icon in the system tray. Once in drawing mode, you can draw on the screen:

DemoHelper Example

As shown in the screenshot above, it's possible to draw arrows and lines in different colors. Also a special "Marker" is available to highlight areas on the screen, as done above with the "file2.*" filenames.

The colors are merged together with the screen by default. But it's possible to draw with solid colors if needed.

If you activate the show mouseclicks and/or the show keystrokes, an overlay text is shown in the bottom left of the active monitor showing the mouse clicks and keystrokes. Only keystrokes are shown that are typed together with Ctrl, Shift, Alt and Win.

DemoHelper Overlay

Keyboard shortcuts

Zooming Mode

up
zooms in
down
zooms out
enter or left mouse click
activates drawing of the zoomed area
escape
cancels zooming mode
Zooming is also possible using the mouse wheel.

Live Zooming Mode

In live zooming mode the screen is magnified live, which means you can interact with the magnified part as usual. The mouse/touch and keyboard work with the magnified windows. However, this also means that keyboard shortcuts are also passed on to the other windows, and DemoHelper can't use the normal keys. So in this mode, special keys are used to avoid conflicts with the usual applications:

Win+Shift+Mousewheel
zooms in/out
Win+Shift+Mousemove
Moves the magnified part
live zoom hotkey
ends live zoom mode

Drawing Mode

up/down or Ctrl+Mousewheel
increases/decreases the size of the drawing brush
right or Mousewheel
cycles through the available brush colors
0-9
select the brush colors
Shift while drawing
forces horizontal/vertical drawing
Control while drawing
drawing straight lines
right mouse-drag
draws arrow lines
right mouse-drag with control key pressed
draws straight lines
escape
quits drawing mode
backspace
removes the last line drawn
delete
removes the first line drawn
E
removes all drawn lines
M
toggles the marker on/off
T
toggles between solid and merged drawing
Z
select a rectangle to zoom in
C
clears the screen with the background color

Now go to the download page.

\ No newline at end of file +DemoHelper - Stefans Tools

Stefans Tools

Useful open source tools that make your life easier

DemoHelper

DemoHelper Icon

A tool which helps in demonstrations, presentations or if you just need to explain someone something on your computer.

DemoHelper is an annotation and screen zoom tool you can use for technical presentations that include application demonstrations.

DemoHelper runs unobtrusively in the system tray and is activated by either customizable hotkeys or the context menu of the tray icon.

You can draw on the screen to mark special areas, or you can zoom in on an area on the screen.

Use cases include meetings where you have to explain something on the screen or teachers presenting lectures to students in computer classes.

Windows

DemoHelper requires Windows 8 or later.

Basic operation

DemoHelper runs in the system tray, where you can activate and configure it with a simple right-click:

DemoHelper Context Menu

In the options dialog, you can configure the hotkeys for the two main modes of operation: zooming and drawing.

DemoHelper Options

To start the drawing mode, either press the hotkey you configured for it, or double-click on the icon in the system tray. Once in drawing mode, you can draw on the screen:

DemoHelper Example

As shown in the screenshot above, it's possible to draw arrows and lines in different colors. Also a special "Marker" is available to highlight areas on the screen, as done above with the "file2.*" filenames.

The colors are merged together with the screen by default. But it's possible to draw with solid colors if needed.

If you activate the show mouseclicks and/or the show keystrokes, an overlay text is shown in the bottom left of the active monitor showing the mouse clicks and keystrokes. Only keystrokes are shown that are typed together with Ctrl, Shift, Alt and Win.

DemoHelper Overlay

Keyboard shortcuts

Zooming Mode

up
zooms in
down
zooms out
enter or left mouse click
activates drawing of the zoomed area
escape
cancels zooming mode
Zooming is also possible using the mouse wheel.

Live Zooming Mode

In live zooming mode the screen is magnified live, which means you can interact with the magnified part as usual. The mouse/touch and keyboard work with the magnified windows. However, this also means that keyboard shortcuts are also passed on to the other windows, and DemoHelper can't use the normal keys. So in this mode, special keys are used to avoid conflicts with the usual applications:

Win+Shift+Mousewheel
zooms in/out
Win+Shift+Mousemove
Moves the magnified part
live zoom hotkey
ends live zoom mode

Drawing Mode

up/down or Ctrl+Mousewheel
increases/decreases the size of the drawing brush
right or Mousewheel
cycles through the available brush colors
0-9
select the brush colors
Shift while drawing
forces horizontal/vertical drawing
Control while drawing
drawing straight lines
right mouse-drag
draws arrow lines
right mouse-drag with control key pressed
draws straight lines
escape
quits drawing mode
backspace
removes the last line drawn
delete
removes the first line drawn
E
removes all drawn lines
M
toggles the marker on/off
T
toggles between solid and merged drawing
Z
select a rectangle to zoom in
C
clears the screen with the background color

Now go to the download page.

\ No newline at end of file diff --git a/EvImSync.html b/EvImSync.html index 4111de08..2fe2f9a7 100644 --- a/EvImSync.html +++ b/EvImSync.html @@ -1 +1 @@ -EvImSync - Stefans Tools

Stefans Tools

Useful open source tools that make your life easier

EvImSync

EvImSync is a small tool to synchronize Evernote notebooks with a Gmail account. Notes in Evernote are uploaded to your Gmail account as emails, and emails in Gmail are imported to Evernote notebooks as notes.

overview

EvImSync requires .NET Framework 4. You can get this via Windows update or directly from here.

Details: how it works

EvImSync uses the Evernote script engine ENScript.exe to import and export notes. These notes are parsed and then compared to emails in your Gmail account using the IMAP protocol. This requires that you have enabled IMAP in your Gmail settings:

Gmail-IMAP

You can sync one notebook with one folder in a Gmail account. EvImSync allows you to sync as many notebooks and Gmail folders as you like.

Limitations

Due to limitations both in the IMAP protocol, the Evernote scripting engine and the available documentation, the synchronization is not perfect. Some things simply can't be done by EvImSync.

  • Notes in Evernote are not deleted: if you delete an email in Gmail, that deletion is not reflected in Evernote. ENScript doesn't have a command to delete a specific note. Instead, EvImSync uploads the note from Evernote again to Gmail. That means that if you want to delete a note, you must do that in Evernote, not in your Gmail account. Notes that are deleted in Evernote get moved to the folder "evernote trash" in your Gmail account from where you can remove them permanently if you like.
  • Tag changes in Gmail are not reflected in Evernote: Again, ENScript doesn't have a command to do that. However, if you have a new email that's not already synced the Evernote you can use Gmail to add the tags you like. New emails are properly imported to Evernote with all the Gmail tags you have set. Synching tags in the other direction works ok: If you change tags in Evernote, those changes are properly reflected in your Gmail account.
  • Source URLs are not synched: Source URLs from Evernote are not stored in Gmail, but of course left as is in the Evernote notes.
  • Ink notes: Evernote Ink notes are not shown in Gmail. The format of those notes is not documented, so I can't convert them to images or something like that which would properly be shown in an email. Instead, such notes are converted to an email attachment. Synching those works, but as mentioned you won't be able to actually see them in Gmail.

Installation

EvImSync does not require installation. It can be run from any place. Just double-click on the file to run it.

By default, EvImSync stores its configuration in the %APPDATA% folder. However if you want to use EvImSync on an USB-stick, rename the exe file to EvImSyncPortable.exe: this will force EvImSync to store its configuration in the same directory as it was started from.

Configuration

EvImSync needs to know which Gmail folder it has to sync with which of your notebooks in Evernote. To do that, you have to enter this information in the configuration dialog. You can get to that dialog via the File->Configuration menu.

configuration
  • Path to ENScript.exe: in case EvImSync can not determine that path automatically, you have to set it yourself. That tool should be in the folder where you've installed Evernote.
  • Evernote Notebook: the name of the notebook you want to sync.
  • Server: the domain name of the Gmail imap server. Usually that's imap.gmail.com.
  • Username/Password: your Gmail username and password.
  • Base Folder: the IMAP folder name where you want your notes to be put under. EvImSync requires that all notes be stored in a subfolder. I usually use Notes or the name of the Evernote notebook for that name.

After you've set that information, click on the Set Pair button to store the Gmail/Notebook pair. You can configure as many pairs as you like.

Synching

If you've set up at least one sync pair, just click on the Start Sync button to start the synchronization. Depending on how many notes/emails you have, this might take a while though.

main

Report problems

In case you encounter a bug or some other problem, please file an issue in the issue tracker. If EvImSync has problems with the encoding of emails, please save the email as an eml and attach it to the issue. Otherwise filing the issue is useless since I won't be able to reproduce the problem and therefore won't be able to fix it.

Download

EvImSync is open source (GNU GPL v3). You can get the source code from the SourceForge project page.

If you just want the compiled application, get it from the download page.

\ No newline at end of file +EvImSync - Stefans Tools

Stefans Tools

Useful open source tools that make your life easier

EvImSync

EvImSync is a small tool to synchronize Evernote notebooks with a Gmail account. Notes in Evernote are uploaded to your Gmail account as emails, and emails in Gmail are imported to Evernote notebooks as notes.

overview

EvImSync requires .NET Framework 4. You can get this via Windows update or directly from here.

Details: how it works

EvImSync uses the Evernote script engine ENScript.exe to import and export notes. These notes are parsed and then compared to emails in your Gmail account using the IMAP protocol. This requires that you have enabled IMAP in your Gmail settings:

Gmail-IMAP

You can sync one notebook with one folder in a Gmail account. EvImSync allows you to sync as many notebooks and Gmail folders as you like.

Limitations

Due to limitations both in the IMAP protocol, the Evernote scripting engine and the available documentation, the synchronization is not perfect. Some things simply can't be done by EvImSync.

  • Notes in Evernote are not deleted: if you delete an email in Gmail, that deletion is not reflected in Evernote. ENScript doesn't have a command to delete a specific note. Instead, EvImSync uploads the note from Evernote again to Gmail. That means that if you want to delete a note, you must do that in Evernote, not in your Gmail account. Notes that are deleted in Evernote get moved to the folder "evernote trash" in your Gmail account from where you can remove them permanently if you like.
  • Tag changes in Gmail are not reflected in Evernote: Again, ENScript doesn't have a command to do that. However, if you have a new email that's not already synced the Evernote you can use Gmail to add the tags you like. New emails are properly imported to Evernote with all the Gmail tags you have set. Synching tags in the other direction works ok: If you change tags in Evernote, those changes are properly reflected in your Gmail account.
  • Source URLs are not synched: Source URLs from Evernote are not stored in Gmail, but of course left as is in the Evernote notes.
  • Ink notes: Evernote Ink notes are not shown in Gmail. The format of those notes is not documented, so I can't convert them to images or something like that which would properly be shown in an email. Instead, such notes are converted to an email attachment. Synching those works, but as mentioned you won't be able to actually see them in Gmail.

Installation

EvImSync does not require installation. It can be run from any place. Just double-click on the file to run it.

By default, EvImSync stores its configuration in the %APPDATA% folder. However if you want to use EvImSync on an USB-stick, rename the exe file to EvImSyncPortable.exe: this will force EvImSync to store its configuration in the same directory as it was started from.

Configuration

EvImSync needs to know which Gmail folder it has to sync with which of your notebooks in Evernote. To do that, you have to enter this information in the configuration dialog. You can get to that dialog via the File->Configuration menu.

configuration
  • Path to ENScript.exe: in case EvImSync can not determine that path automatically, you have to set it yourself. That tool should be in the folder where you've installed Evernote.
  • Evernote Notebook: the name of the notebook you want to sync.
  • Server: the domain name of the Gmail imap server. Usually that's imap.gmail.com.
  • Username/Password: your Gmail username and password.
  • Base Folder: the IMAP folder name where you want your notes to be put under. EvImSync requires that all notes be stored in a subfolder. I usually use Notes or the name of the Evernote notebook for that name.

After you've set that information, click on the Set Pair button to store the Gmail/Notebook pair. You can configure as many pairs as you like.

Synching

If you've set up at least one sync pair, just click on the Start Sync button to start the synchronization. Depending on how many notes/emails you have, this might take a while though.

main

Report problems

In case you encounter a bug or some other problem, please file an issue in the issue tracker. If EvImSync has problems with the encoding of emails, please save the email as an eml and attach it to the issue. Otherwise filing the issue is useless since I won't be able to reproduce the problem and therefore won't be able to fix it.

Download

EvImSync is open source (GNU GPL v3). You can get the source code from the SourceForge project page.

If you just want the compiled application, get it from the download page.

\ No newline at end of file diff --git a/Evernote2Onenote.html b/Evernote2Onenote.html index a5a84ad3..4e1d0452 100644 --- a/Evernote2Onenote.html +++ b/Evernote2Onenote.html @@ -1 +1 @@ -Evernote2Onenote - Stefans Tools

Stefans Tools

Useful open source tools that make your life easier

Evernote2Onenote

Evernote2Onenote is a small tool to import Evernote notebooks to Onenote.

main dialog

Evernote2Onenote requires .NET Framework 4.8. You can get this via Windows update or directly from here.

Details: how it works

You can export your Evernote notebooks as an ENEX file. This file is then used by Evernote2Onenote to import those notebooks into Onenote.

Prerequisites

Evernote2Onenote requires that Onenote is installed.

Desktop version

The preinstalled versions of Onenote from the Windows App Store won't work. You need the desktop version of Onenote!

How to use

Start Evernote2Onenote, then select the the options you want for your import. Usually the default options are good enough. Then click the "Import ENEX file" button, select the exported notebook file from Evernote. After that the import starts and imports all the notes into Onenote.

Evernote tags

For Onenote that comes with Office:

Notes are imported to Onenote in a tab that has the same name as the tag the note has. If a note has multiple tags, that note is imported multiple times to Onenote, so you get duplicate notes!

To avoid duplicate notes, you should first remove duplicate tags from your notes in Evernote. The easiest way to do that is to create an empty new notebook, export your real notebook in enex format and uncheck tags from the export options. Then import that enex file into the new notebook. And then of course only import that new notebook into Onenote.

Installation

Evernote2Onenote does not require installation. It can be run from any place. Just double-click on the file to run it.

Report problems

In case you encounter a bug or some other problem, please file an issue in the issue tracker.

Download

Evernote2Onenote is open source (GNU GPL v3). You can get the source code from the GitHub project page. The source is in a subfolder for the EvImSync project since a lot of the code is similar to that project.

If you just want the compiled application, get it from the download page.

\ No newline at end of file +Evernote2Onenote - Stefans Tools

Stefans Tools

Useful open source tools that make your life easier

Evernote2Onenote

Evernote2Onenote is a small tool to import Evernote notebooks to Onenote.

main dialog

Evernote2Onenote requires .NET Framework 4.8. You can get this via Windows update or directly from here.

Details: how it works

You can export your Evernote notebooks as an ENEX file. This file is then used by Evernote2Onenote to import those notebooks into Onenote.

Prerequisites

Evernote2Onenote requires that Onenote is installed.

Desktop version

The preinstalled versions of Onenote from the Windows App Store won't work. You need the desktop version of Onenote!

How to use

Start Evernote2Onenote, then select the the options you want for your import. Usually the default options are good enough. Then click the "Import ENEX file" button, select the exported notebook file from Evernote. After that the import starts and imports all the notes into Onenote.

Evernote tags

For Onenote that comes with Office:

Notes are imported to Onenote in a tab that has the same name as the tag the note has. If a note has multiple tags, that note is imported multiple times to Onenote, so you get duplicate notes!

To avoid duplicate notes, you should first remove duplicate tags from your notes in Evernote. The easiest way to do that is to create an empty new notebook, export your real notebook in enex format and uncheck tags from the export options. Then import that enex file into the new notebook. And then of course only import that new notebook into Onenote.

Installation

Evernote2Onenote does not require installation. It can be run from any place. Just double-click on the file to run it.

Report problems

In case you encounter a bug or some other problem, please file an issue in the issue tracker.

Download

Evernote2Onenote is open source (GNU GPL v3). You can get the source code from the GitHub project page. The source is in a subfolder for the EvImSync project since a lot of the code is similar to that project.

If you just want the compiled application, get it from the download page.

\ No newline at end of file diff --git a/FavIconizer.html b/FavIconizer.html index 81ebd87d..e4c2f423 100644 --- a/FavIconizer.html +++ b/FavIconizer.html @@ -1 +1 @@ -FavIconizer - Stefans Tools

Stefans Tools

Useful open source tools that make your life easier

FavIconizer

If you use Internet Explorer for browsing the web then you know that for some links you add to your favorites, there is an icon indicating the webpage. These are called favicons. But after a while these icons get replaced in the favorites with the standard web icon again because the Microsoft Internet Explorer stores them in the web cache which gets cleaned up according to your settings, usually after a few weeks.

Internet Explorer Favorites without favicons

Here's where FavIconizer comes to the rescue.

Screenshot of FavIconizer at work

It will scan all links you have in your favorites and check if the website has a favicon. If it has one, FavIconizer will download that icon and adjust the link in the favorites to use that.
After FavIconizer is finished, you have all the favicons back in your favorites.

Internet Explorer Favorites with favicons restored

Now, go to the download page.

\ No newline at end of file +FavIconizer - Stefans Tools

Stefans Tools

Useful open source tools that make your life easier

FavIconizer

If you use Internet Explorer for browsing the web then you know that for some links you add to your favorites, there is an icon indicating the webpage. These are called favicons. But after a while these icons get replaced in the favorites with the standard web icon again because the Microsoft Internet Explorer stores them in the web cache which gets cleaned up according to your settings, usually after a few weeks.

Internet Explorer Favorites without favicons

Here's where FavIconizer comes to the rescue.

Screenshot of FavIconizer at work

It will scan all links you have in your favorites and check if the website has a favicon. If it has one, FavIconizer will download that icon and adjust the link in the favorites to use that.
After FavIconizer is finished, you have all the favicons back in your favorites.

Internet Explorer Favorites with favicons restored

Now, go to the download page.

\ No newline at end of file diff --git a/FileTool.html b/FileTool.html index c67bc78e..fd2eb44a 100644 --- a/FileTool.html +++ b/FileTool.html @@ -1 +1 @@ -FileTool - Stefans Tools

Stefans Tools

Useful open source tools that make your life easier

FileTool

Sometimes it's necessary to create a lot of test files, or just a few but very big ones. Or you need a thousand folders with a thousand files in each of them to test with your application. FileTool can do that for you.

Or you need to lock files to test how your application behaves if it can not access those files. FileTool can do that for you too.

FileTool dialog

Now, go to the download page.

\ No newline at end of file +FileTool - Stefans Tools

Stefans Tools

Useful open source tools that make your life easier

FileTool

Sometimes it's necessary to create a lot of test files, or just a few but very big ones. Or you need a thousand folders with a thousand files in each of them to test with your application. FileTool can do that for you.

Or you need to lock files to test how your application behaves if it can not access those files. FileTool can do that for you too.

FileTool dialog

Now, go to the download page.

\ No newline at end of file diff --git a/MailNoter.html b/MailNoter.html index c82ea831..70c872d3 100644 --- a/MailNoter.html +++ b/MailNoter.html @@ -1 +1 @@ -MailNoter - Stefans Tools

Stefans Tools

Useful open source tools that make your life easier

MailNoter

MailNoter is a small tool to help gathering notes from various applications, but specifically from browsers.

There are many tools and applications out there which help to keep a repository of personal notes, and even though some of them are very good at what they do, they all either use a proprietary format to store the notes (what would happen to my notes if the application isn't supported anymore and stops working on future OS versions?), only store notes as plain text, require non WYSIWYG input (e.g., Wikis), don't allow attachments, don't work if there's no network access, or are just plain ugly.

So I'm keeping my notes in my email account:
  • open storage format
  • available from different computers and OS
  • works offline
  • usable with any email client
  • usable through a web browser (no need to install anything if I'm at a place where I can't just install apps)
  • easily searchable (either through the web interface (did I mention I'm using Gmail?)), through desktop search engines or the email client itself
And with Gmail, I can add tags to my notes very easily, which makes searching them even easier.

So how does MailNoter help here? (Please don't complain about the name: I had to choose something that isn't used by some other application, and "MailNoter" returned exactly two hits in Google: both because of a typo).

Without MailNoter, if I want to create a note from a part of a website or code snipped in the IDE, I had to:
  1. create a new mail
  2. go back to the browser/IDE/whateverApplication
  3. select the part I want to keep as a note
  4. hit Ctrl+C to copy it to the clipboard
  5. go back to the new email I started
  6. paste the text in
  7. enter a meaningful subject for the email
  8. enter the "To:" address
  9. hit "Send"
with MailNoter however:
  1. select the text in the browser/IDE/whateverApplication
  2. hit the hotkey (e.g., Win+PrintScreen)
  3. hit "Send"
MailNoter, when the hotkey is pressed, automatically copies the selected text into a new email, fills in the "To:" address and also fills in the email subject automatically. No need to manually copy/paste, create new email, fill in the same stuff over and over again.

Another nice feature of MailNoter: selecting files in Explorer and hitting the hotkey will create a new email, with the selected files already added as an attachment. Image files are not added as an attachment though, they're added inline.

So, as I said: it's a small tool which doesn't do much. But it helps me with gathering my notes.

You can get it from the download page.

Setup

After downloading MailNoter, unzip the executable file. After a double-click, you will see a new icon in the system tray. A right-click on that icon shows a context menu:

Context menu

A click on the "options" entry brings up the configuration dialog:

Options dialog

Here you can set the hotkey, the "from" address (most email clients will ignore that, so you can leave that empty) and of course the "To:" address. You should enter here your own email address. Hint: some email providers allow you to add custom parts to your address, for example myemailaddress+notes@example.com. The part after the + is then ignored, but you can use that to set up a filter to automatically move mails arriving at that address to a "notes" folder in your email account.

You can also set here that MailNoter automatically starts when you log in to your workstation.

You can also modify the look of the "appendix" which is added automatically for html content, which by default is a one row table containing the source URL.

Email client

For MailNoter to work, you must have an email client installed which supports Simple MAPI. Most email clients support that, but you might have to set your email client as the "default" email client first.

Also, MAPI was created before HTML mails existed, so there is no way to tell an email client that it should use HTML mails. To avoid the email client use plain text instead of HTML mails, you have to configure your client to create HTML mails by default, not text mails. But that's the default for most email clients anyway.

Capture content

After you've set everything up and MailNoter is running, you can start capturing content. For example, go to a website with your preferred browser, select an interesting part of the page, hit the hotkey and see MailNoter open a new email for you with your default email client:

Capturing the web

To report problems, please use the issue tracker.

\ No newline at end of file +MailNoter - Stefans Tools

Stefans Tools

Useful open source tools that make your life easier

MailNoter

MailNoter is a small tool to help gathering notes from various applications, but specifically from browsers.

There are many tools and applications out there which help to keep a repository of personal notes, and even though some of them are very good at what they do, they all either use a proprietary format to store the notes (what would happen to my notes if the application isn't supported anymore and stops working on future OS versions?), only store notes as plain text, require non WYSIWYG input (e.g., Wikis), don't allow attachments, don't work if there's no network access, or are just plain ugly.

So I'm keeping my notes in my email account:
  • open storage format
  • available from different computers and OS
  • works offline
  • usable with any email client
  • usable through a web browser (no need to install anything if I'm at a place where I can't just install apps)
  • easily searchable (either through the web interface (did I mention I'm using Gmail?)), through desktop search engines or the email client itself
And with Gmail, I can add tags to my notes very easily, which makes searching them even easier.

So how does MailNoter help here? (Please don't complain about the name: I had to choose something that isn't used by some other application, and "MailNoter" returned exactly two hits in Google: both because of a typo).

Without MailNoter, if I want to create a note from a part of a website or code snipped in the IDE, I had to:
  1. create a new mail
  2. go back to the browser/IDE/whateverApplication
  3. select the part I want to keep as a note
  4. hit Ctrl+C to copy it to the clipboard
  5. go back to the new email I started
  6. paste the text in
  7. enter a meaningful subject for the email
  8. enter the "To:" address
  9. hit "Send"
with MailNoter however:
  1. select the text in the browser/IDE/whateverApplication
  2. hit the hotkey (e.g., Win+PrintScreen)
  3. hit "Send"
MailNoter, when the hotkey is pressed, automatically copies the selected text into a new email, fills in the "To:" address and also fills in the email subject automatically. No need to manually copy/paste, create new email, fill in the same stuff over and over again.

Another nice feature of MailNoter: selecting files in Explorer and hitting the hotkey will create a new email, with the selected files already added as an attachment. Image files are not added as an attachment though, they're added inline.

So, as I said: it's a small tool which doesn't do much. But it helps me with gathering my notes.

You can get it from the download page.

Setup

After downloading MailNoter, unzip the executable file. After a double-click, you will see a new icon in the system tray. A right-click on that icon shows a context menu:

Context menu

A click on the "options" entry brings up the configuration dialog:

Options dialog

Here you can set the hotkey, the "from" address (most email clients will ignore that, so you can leave that empty) and of course the "To:" address. You should enter here your own email address. Hint: some email providers allow you to add custom parts to your address, for example myemailaddress+notes@example.com. The part after the + is then ignored, but you can use that to set up a filter to automatically move mails arriving at that address to a "notes" folder in your email account.

You can also set here that MailNoter automatically starts when you log in to your workstation.

You can also modify the look of the "appendix" which is added automatically for html content, which by default is a one row table containing the source URL.

Email client

For MailNoter to work, you must have an email client installed which supports Simple MAPI. Most email clients support that, but you might have to set your email client as the "default" email client first.

Also, MAPI was created before HTML mails existed, so there is no way to tell an email client that it should use HTML mails. To avoid the email client use plain text instead of HTML mails, you have to configure your client to create HTML mails by default, not text mails. But that's the default for most email clients anyway.

Capture content

After you've set everything up and MailNoter is running, you can start capturing content. For example, go to a website with your preferred browser, select an interesting part of the page, hit the hotkey and see MailNoter open a new email for you with your default email client:

Capturing the web

To report problems, please use the issue tracker.

\ No newline at end of file diff --git a/SKTimeStamp.html b/SKTimeStamp.html index d2e3beac..5a2591a3 100644 --- a/SKTimeStamp.html +++ b/SKTimeStamp.html @@ -1 +1 @@ -SKTimeStamp - Stefans Tools

Stefans Tools

Useful open source tools that make your life easier

SKTimeStamp

SKTimeStamp is a very simple shell extension which adds a new tab to the Windows Explorer properties dialog. On that new tab, you can change the file/folder date and time.

Go to the download page.

Windows XP not supported

SKTimeStamp requires Windows Vista or later. It won't work on Windows XP!

SKTimeStamp for one file SKTimeStamp for multiple files

\ No newline at end of file +SKTimeStamp - Stefans Tools

Stefans Tools

Useful open source tools that make your life easier

SKTimeStamp

SKTimeStamp is a very simple shell extension which adds a new tab to the Windows Explorer properties dialog. On that new tab, you can change the file/folder date and time.

Go to the download page.

Windows XP not supported

SKTimeStamp requires Windows Vista or later. It won't work on Windows XP!

SKTimeStamp for one file SKTimeStamp for multiple files

\ No newline at end of file diff --git a/SendMessage.html b/SendMessage.html index dc5f88a3..8921ec42 100644 --- a/SendMessage.html +++ b/SendMessage.html @@ -1 +1 @@ -SendMessage - Stefans Tools

Stefans Tools

Useful open source tools that make your life easier

SendMessage

SendMessage is a little tool to send Windows messages to any window.

Ever wondered how you should test whether your application correctly responds to certain system messages like WM_ENDSESSION or WM_POWERBROADCAST? Of course you can test your application by actually triggering those messages, but especially the WM_ENDSESSION message and its purpose makes it impossible to attach a debugger to your application once Windows sends you that message.

With this tool, you can send that message and any other message you like to your application window. And you can do that while you have a debugger attached to your application!

End session

To find the window handle of your application, either drag the target icon in the upper left to your main window, or click on the "Windows" button and select the window from the list.

Find Window Dialog

There are a few window messages predefined in SendMessage. If you need to send a message that is not in the list, just enter the number of the message and any required values for WPARAM and LPARAM manually. The screenshot below shows how this would look like for the WM_SYSCOLORCHANGE message.

Main Dialog Custom Message

Once you've entered the message information, click on either the "SendMessage" or "PostMessage" button and the message is sent or posted to your window.

If you find any bugs or have suggestions for new features, please enter them in the issue tracker.

The latest version of SendMessage is available for download here.
download

Windows XP not supported

SendMessage requires Windows Vista or later. It won't work on Windows XP!

Command line usage

SendMessage can also be used from a command line:

/message:NNNN
specifies the window message to send or post as a decimal value
/wparam:NNNN
specifies the WPARAM
/lparam:NNNN
specifies the LPARAM
/post
optional: if specified, the message is sent using PostMessage. If it's not specified, the message is sent using SendMessage.
and at least one or more of these must be specified:
/windowhandle:NNNN
the window handle to send the message to as a decimal value
/windowtitle:TTTT
the message is sent to any window that matches the specified title text
/windowclass:TTTT
the message is sent to any window that has the specified window class
/processname:TTTT
the message is sent only to windows that are part of the specified process

If only /processname:TTTT is specified without any window title, class or handle, the message is sent to the top level window of the specified process(es).

Example

SendMessage.exe /message:16 /processname:cmd.exe

Sends a WM_CLOSE message to all open console windows.

\ No newline at end of file +SendMessage - Stefans Tools

Stefans Tools

Useful open source tools that make your life easier

SendMessage

SendMessage is a little tool to send Windows messages to any window.

Ever wondered how you should test whether your application correctly responds to certain system messages like WM_ENDSESSION or WM_POWERBROADCAST? Of course you can test your application by actually triggering those messages, but especially the WM_ENDSESSION message and its purpose makes it impossible to attach a debugger to your application once Windows sends you that message.

With this tool, you can send that message and any other message you like to your application window. And you can do that while you have a debugger attached to your application!

End session

To find the window handle of your application, either drag the target icon in the upper left to your main window, or click on the "Windows" button and select the window from the list.

Find Window Dialog

There are a few window messages predefined in SendMessage. If you need to send a message that is not in the list, just enter the number of the message and any required values for WPARAM and LPARAM manually. The screenshot below shows how this would look like for the WM_SYSCOLORCHANGE message.

Main Dialog Custom Message

Once you've entered the message information, click on either the "SendMessage" or "PostMessage" button and the message is sent or posted to your window.

If you find any bugs or have suggestions for new features, please enter them in the issue tracker.

The latest version of SendMessage is available for download here.
download

Windows XP not supported

SendMessage requires Windows Vista or later. It won't work on Windows XP!

Command line usage

SendMessage can also be used from a command line:

/message:NNNN
specifies the window message to send or post as a decimal value
/wparam:NNNN
specifies the WPARAM
/lparam:NNNN
specifies the LPARAM
/post
optional: if specified, the message is sent using PostMessage. If it's not specified, the message is sent using SendMessage.
and at least one or more of these must be specified:
/windowhandle:NNNN
the window handle to send the message to as a decimal value
/windowtitle:TTTT
the message is sent to any window that matches the specified title text
/windowclass:TTTT
the message is sent to any window that has the specified window class
/processname:TTTT
the message is sent only to windows that are part of the specified process

If only /processname:TTTT is specified without any window title, class or handle, the message is sent to the top level window of the specified process(es).

Example

SendMessage.exe /message:16 /processname:cmd.exe

Sends a WM_CLOSE message to all open console windows.

\ No newline at end of file diff --git a/StExBar.html b/StExBar.html index d880b397..93af045e 100644 --- a/StExBar.html +++ b/StExBar.html @@ -1,4 +1,4 @@ StExBar - Stefans Tools

Stefans Tools

Useful open source tools that make your life easier

StExBar: The ultimate tool for Windows Explorer

Or what Microsoft forgot to implement in the Windows Explorer.

Go to the download page.

Windows XP not supported

StExBar requires Windows Vista or later. It won't work on Windows XP!

StExBar provides many useful commands for your everyday use of Windows explorer. And you can add as many custom commands on your own as you like.

StExBar screenshot

The commands are not just available from the toolbar, but also via hotkeys and via a context menu!

Have you ever needed to open a console window while you were using the explorer? And to have that console already set to the directory you're showing in explorer right now? Well, StExBar provides that with one simple mouseclick. There's also a hotkey defined for this: simply press Ctrl+M to open the console.

A "lightweight" console is also available. Simply enter the command you like to execute into the edit box on the right of the StExBar and hit enter. The command will be executed in the system console.

Have you ever needed to have the name or full path of one or more files in another application? Ctrl+C doesn't work here, that won't copy the file path but the file itself. StExBar comes to the rescue. It provides two commands, one to copy all selected file/foldernames to the clipboard, the other copies the whole paths of all selected items. To make it even more easier to use this, a hotkey is defined Ctrl+Shift+C which copies the selected paths.

StExBar new folder command

Creating new folders is a common task in explorer. But to actually do that, you have to right-click on a folder background, choose "New" from the context menu, wait until the submenu finally appears, then choose "Folder" from that submenu. Not anymore! StExBar provides you the same with one easy click. Or even faster with the assigned hotkey: just press Ctrl+Shift+N and you have a new folder created in the current directory.

Note: Windows 10 has that command already implemented in the explorer with the same keyboard shortcut, so on Windows 10, StExBar does not show the "New Folder" command.

StExBar rename dialog

StExBar can also help you renaming multiple files at once. It uses Regular Expression strings to do so.

You can add your own commands to StExBar and define hotkeys for them.

StExBar Options

You can start your configured tools and the internal console command in elevated mode by holding down the left WIN key. This works for clicking on the toolbar button as well as when you execute the hotkey.

Go to the download page.

Installation

Installation is easy, just run the msi installer:

StExBar installer

After installing, StExBar is ready:

  1. open an explorer window
  2. open the menu "View->Toolbars" (note: on vista, you have to either activate the menu first, or hit the ALT key)
  3. chose "StExBar" from the list
  4. you may want to adjust the size and position of StExBar. To do that, you have to first unlock the toolbars with the menu "View->Toolbars->Lock the Toolbars"

After that, StExBar is ready:

Vista explorer

Note: restarting should not be necessary (only close all Windows Explorer windows). But if you don't see StExBar listed in the Toolbars menu, it's most likely because Windows caches the installed toolbars:

Delete the following two registry keys to clear the cache (the registry keys will be automatically recreated):

 HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Discardable\PostSetup\Component Categories\{00021493-0000-0000-C000-000000000046}\Enum
 HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Discardable\PostSetup\Component Categories\{00021494-0000-0000-C000-000000000046}\Enum
-

If StExBar is still not showing properly, go to Internet Options/Advanced/Browsing and check there Enable third-party browser extensions.

Example commands

While StExBar already has some useful commands built in, you might want to add commands of your own.

Open selected file in Editor

While for many file types like *.txt a double-click will open the file in the editor, many file types have their own double-click action and won't open the file in an editor. Here's my custom command to open any file in the Windows editor by simply hitting Ctrl+E:

Open in Editor command
Toggle the readonly attribute

To toggle the readonly attribute of selected files, we have to write a small script. The script is in the contrib folder of our source code, which you can find here. The file is called "attrib.js".

toggle readonly attribute

Contribute

if you have your own commands and scripts which you think might be useful to others, then please share them!

Just file an issue in our issue tracker and attach your script there. Don't forget to mention what your script or command does.

We will put your scripts in our contrib folder for others to use. It would be good if you add some comments at the top of your scripts which explain what it does and how to use it.

\ No newline at end of file +

If StExBar is still not showing properly, go to Internet Options/Advanced/Browsing and check there Enable third-party browser extensions.

Example commands

While StExBar already has some useful commands built in, you might want to add commands of your own.

Open selected file in Editor

While for many file types like *.txt a double-click will open the file in the editor, many file types have their own double-click action and won't open the file in an editor. Here's my custom command to open any file in the Windows editor by simply hitting Ctrl+E:

Open in Editor command
Toggle the readonly attribute

To toggle the readonly attribute of selected files, we have to write a small script. The script is in the contrib folder of our source code, which you can find here. The file is called "attrib.js".

toggle readonly attribute

Contribute

if you have your own commands and scripts which you think might be useful to others, then please share them!

Just file an issue in our issue tracker and attach your script there. Don't forget to mention what your script or command does.

We will put your scripts in our contrib folder for others to use. It would be good if you add some comments at the top of your scripts which explain what it does and how to use it.

\ No newline at end of file diff --git a/about.html b/about.html index be2be3e4..6958f7de 100644 --- a/about.html +++ b/about.html @@ -1 +1 @@ -About - Stefans Tools

Stefans Tools

Useful open source tools that make your life easier

About

If you want to contact me, send an email to:

If you like my tools and want to give me a little money for a pizza, you can do so via this link. If you're not comfortable with PayPal or for whatever reason you can not use it, don't worry: it's the thought that counts and I appreciate it anyway.

The website's source is available on the stefanstools repository:

Credits

  • Website optimization/HTML5 validation: XhmikosR
  • Chinese translation: 李好为 (Haowei Lee)
\ No newline at end of file +About - Stefans Tools

Stefans Tools

Useful open source tools that make your life easier

About

If you want to contact me, send an email to:

If you like my tools and want to give me a little money for a pizza, you can do so via this link. If you're not comfortable with PayPal or for whatever reason you can not use it, don't worry: it's the thought that counts and I appreciate it anyway.

The website's source is available on the stefanstools repository:

Credits

  • Website optimization/HTML5 validation: XhmikosR
  • Chinese translation: 李好为 (Haowei Lee)
\ No newline at end of file diff --git a/donate.html b/donate.html index be45615b..a7f8a653 100644 --- a/donate.html +++ b/donate.html @@ -1 +1 @@ -Donate - Stefans Tools

Stefans Tools

Useful open source tools that make your life easier

Donate

If you like my tools and want to give me a little money for a pizza, you can do so via this link. If you're not comfortable with PayPal or for whatever reason you can not use it, don't worry: it's the thought that counts and I appreciate it anyway.

\ No newline at end of file +Donate - Stefans Tools

Stefans Tools

Useful open source tools that make your life easier

Donate

If you like my tools and want to give me a little money for a pizza, you can do so via this link. If you're not comfortable with PayPal or for whatever reason you can not use it, don't worry: it's the thought that counts and I appreciate it anyway.

\ No newline at end of file diff --git a/grepWin.html b/grepWin.html index b93cea93..a8f02222 100644 --- a/grepWin.html +++ b/grepWin.html @@ -1 +1 @@ -grepWin - Stefans Tools

Stefans Tools

Useful open source tools that make your life easier

grepWin: Regular expression search and replace for Windows

Go to the download page to download grepWin right now.

Windows XP not supported

grepWin requires Windows 7 SP1 or later. It won't work on Windows XP or Vista!

grepWin is a simple search and replace tool which can use regular expressions to do its job. This allows to do much more powerful searches and replaces.

In case you're not familiar with regular expressions, we have a very short regular expression tutorial for you.

grepWin adds an entry to the shell context menu to easily search selected folders.

Right click

Once started, grepWin allows you to customize the search or replace in many ways.

Search

For example, you can (and maybe you should) limit the search to certain file sizes, file types, etc.

Since regular expressions can sometimes get complicated, grepWin allows you to add your most used expressions to a presets list.

Add preset

Once you've added some presets, you can easily retrieve them again from the presets dialog.

Presets

After a successful search or replace, the matching files are listed at the bottom of the dialog. The file list behaves a lot like the common Windows explorer. That means a double-click will open the file, and a right-click will show you the default shell menu for that file.

Shell menu

If you want to report a bug or request a feature, use our issue tracker to file a new issue or add a comment to an existing one. Make sure to search all issues, not just the open issues at the time.

Command line parameters

The command line parameters are listed on a separate page.

Visual Studio integration

You can also integrate grepWin into Visual Studio, the wiki explains how.

Source code

grepWin is licensed under the GPL. If you would like to make changes to grepWin, get the source code here.

\ No newline at end of file +grepWin - Stefans Tools

Stefans Tools

Useful open source tools that make your life easier

grepWin: Regular expression search and replace for Windows

Go to the download page to download grepWin right now.

Windows XP not supported

grepWin requires Windows 7 SP1 or later. It won't work on Windows XP or Vista!

grepWin is a simple search and replace tool which can use regular expressions to do its job. This allows to do much more powerful searches and replaces.

In case you're not familiar with regular expressions, we have a very short regular expression tutorial for you.

grepWin adds an entry to the shell context menu to easily search selected folders.

Right click

Once started, grepWin allows you to customize the search or replace in many ways.

Search

For example, you can (and maybe you should) limit the search to certain file sizes, file types, etc.

Since regular expressions can sometimes get complicated, grepWin allows you to add your most used expressions to a presets list.

Add preset

Once you've added some presets, you can easily retrieve them again from the presets dialog.

Presets

After a successful search or replace, the matching files are listed at the bottom of the dialog. The file list behaves a lot like the common Windows explorer. That means a double-click will open the file, and a right-click will show you the default shell menu for that file.

Shell menu

If you want to report a bug or request a feature, use our issue tracker to file a new issue or add a comment to an existing one. Make sure to search all issues, not just the open issues at the time.

Command line parameters

The command line parameters are listed on a separate page.

Visual Studio integration

You can also integrate grepWin into Visual Studio, the wiki explains how.

Source code

grepWin is licensed under the GPL. If you would like to make changes to grepWin, get the source code here.

\ No newline at end of file diff --git a/grepWin_cmd.html b/grepWin_cmd.html index 83fc1788..97755340 100644 --- a/grepWin_cmd.html +++ b/grepWin_cmd.html @@ -8,4 +8,4 @@ filemask=*.cpp|*.h|*.cs|*.java searchfor=this(is)what[I]want(?to)search|for i=yes -

the ini file must be saved in utf8 format/nosavesettingsprevents grepWin from saving any of the settings/history items.

ParameterDescription
/filemaskregex:"regex"sets the file mask as a regex
/filemask:"string"sets the file mask
/direxcluderegex:"string"sets the exclude dirs regex mask
/replacewith:"string"sets the replace-with string
/execute /executesearchif specified, the search is started immediately without the user having to click the search button first
/executereplaceif specified, the replace is started immediately without the user having to click the replace button first. Note: if /k is not specified, grepWin will ask whether to do the replace without creating backups.
/executecaptureif specified, a capture search is started immediately without the user having to click the capture search button first.
/closedialogcloses the dialog after the command has finished.
/i:[yes|no]case insensitive
/n:[yes|no]dot matches newline
/k:[yes|no]create backups
/keepfiledate:[yes|no]keeps the original file dates when replacing text
/wholewords:[yes|no]text search for whole words only
/utf8:[yes|no]treat files as utf8
/size:sizelimitsets the file size limit. Pass -1 to use all sizes
/sizecmp:[0|1|2]compare setting for the size limit: 0 = less than, 1 = equal to, 2 = greater than
/s:[yes|no]include system items
/h:[yes|no]include hidden items
/u:[yes|no]include subfolders
/l:[yes|no]include symlinks
/b:[yes|no]include binary files
/contentif set, the search results are listed by content instead of files
/preset:"name"if set, uses the settings from the named preset
/datelimit:[0|1|2|3]Sets the date filter:
  • 0 : No date filter
  • 1 : Search for files newer than
  • 2 : Search for files older than
  • 3 : Search for files between date
The date(s) are set with /date1:"YYYY:MM:DD" and /date2:"YYYY:MM:DD".
\ No newline at end of file +

the ini file must be saved in utf8 format/nosavesettingsprevents grepWin from saving any of the settings/history items.

ParameterDescription
/filemaskregex:"regex"sets the file mask as a regex
/filemask:"string"sets the file mask
/direxcluderegex:"string"sets the exclude dirs regex mask
/replacewith:"string"sets the replace-with string
/execute /executesearchif specified, the search is started immediately without the user having to click the search button first
/executereplaceif specified, the replace is started immediately without the user having to click the replace button first. Note: if /k is not specified, grepWin will ask whether to do the replace without creating backups.
/executecaptureif specified, a capture search is started immediately without the user having to click the capture search button first.
/closedialogcloses the dialog after the command has finished.
/i:[yes|no]case insensitive
/n:[yes|no]dot matches newline
/k:[yes|no]create backups
/keepfiledate:[yes|no]keeps the original file dates when replacing text
/wholewords:[yes|no]text search for whole words only
/utf8:[yes|no]treat files as utf8
/size:sizelimitsets the file size limit. Pass -1 to use all sizes
/sizecmp:[0|1|2]compare setting for the size limit: 0 = less than, 1 = equal to, 2 = greater than
/s:[yes|no]include system items
/h:[yes|no]include hidden items
/u:[yes|no]include subfolders
/l:[yes|no]include symlinks
/b:[yes|no]include binary files
/contentif set, the search results are listed by content instead of files
/preset:"name"if set, uses the settings from the named preset
/datelimit:[0|1|2|3]Sets the date filter:
  • 0 : No date filter
  • 1 : Search for files newer than
  • 2 : Search for files older than
  • 3 : Search for files between date
The date(s) are set with /date1:"YYYY:MM:DD" and /date2:"YYYY:MM:DD".
\ No newline at end of file diff --git a/index.html b/index.html index 668ec471..33ebaf9b 100644 --- a/index.html +++ b/index.html @@ -1 +1 @@ -Home - Stefans Tools

Stefans Tools

Useful open source tools that make your life easier

ToolDescriptionVersionLinks
BowPad BowPadA simple and fast text editor with a ribbon UI2.9.1
August 3, 2024
CommitMonitor CommitMonitorMonitor your SVN repositories and notifies you on new commits1.12.1
April 27, 2018
CryptSync CryptSyncSynchronizes multiple folders with each other, keeping them up-to-date. One folder of each pair is kept encrypted.1.4.10
August 18, 2024
Evernote2Onenote Evernote2OnenoteImport Evernote notebooks into Onenote1.3.6
November 30, 2023
DemoHelper DemoHelperDraw on your screen, magnify, etc2.1.1
November 2, 2023
FileTool FileToolLock files, create files and folders with any size and numbers1.0.0
Jan 19, 2013
grepWin grepWinA powerful and fast search tool using regular expressions2.1.5
August 3, 2024
SendMessage SendMessageDeveloper tool to send Windows messages to any window1.2.1
December 18, 2021
SKTimeStamp SKTimeStampChange file dates easily, directly from explorer1.3.7
February 25, 2023
StExBar StExBarA very helpful explorer addon that's highly customizable1.11.2
January 15, 2021
tabspace tabspaceCommand line tool to batch convert tabs to spaces and vice versa1.1.7
October 11, 2022

These apps and tools are no longer actively supported, but might still be useful.
ToolDescriptionVersionLinks
AClr AAClrChange Aero colors to match wallpaper

only useful on Windows 7, later Windows versions can do that natively.
1.0.2
April 15, 2013
EvImSync EvImSyncSync Evernote notes with Gmail and vice versa1.0.0
Dec 28, 2010
FavIconizer FavIconizerPersist the icons in your favorites in Internet Explorer1.4
Dec 15, 2012
MailNoter MailNoterCapture web content and email it1.0.1
Feb 19, 2009
TrafficWatcher TrafficWatcherMonitor your network traffic2.0.1
Mar 4, 2009

\ No newline at end of file +Home - Stefans Tools

Stefans Tools

Useful open source tools that make your life easier

ToolDescriptionVersionLinks
BowPad BowPadA simple and fast text editor with a ribbon UI2.9.1
August 3, 2024
CommitMonitor CommitMonitorMonitor your SVN repositories and notifies you on new commits1.12.1
April 27, 2018
CryptSync CryptSyncSynchronizes multiple folders with each other, keeping them up-to-date. One folder of each pair is kept encrypted.1.4.10
August 18, 2024
Evernote2Onenote Evernote2OnenoteImport Evernote notebooks into Onenote1.3.6
November 30, 2023
DemoHelper DemoHelperDraw on your screen, magnify, etc2.1.1
November 2, 2023
FileTool FileToolLock files, create files and folders with any size and numbers1.0.0
Jan 19, 2013
grepWin grepWinA powerful and fast search tool using regular expressions2.1.5
August 3, 2024
SendMessage SendMessageDeveloper tool to send Windows messages to any window1.2.1
December 18, 2021
SKTimeStamp SKTimeStampChange file dates easily, directly from explorer1.3.7
February 25, 2023
StExBar StExBarA very helpful explorer addon that's highly customizable1.11.2
January 15, 2021
tabspace tabspaceCommand line tool to batch convert tabs to spaces and vice versa1.1.7
October 11, 2022

These apps and tools are no longer actively supported, but might still be useful.
ToolDescriptionVersionLinks
AClr AAClrChange Aero colors to match wallpaper

only useful on Windows 7, later Windows versions can do that natively.
1.0.2
April 15, 2013
EvImSync EvImSyncSync Evernote notes with Gmail and vice versa1.0.0
Dec 28, 2010
FavIconizer FavIconizerPersist the icons in your favorites in Internet Explorer1.4
Dec 15, 2012
MailNoter MailNoterCapture web content and email it1.0.1
Feb 19, 2009
TrafficWatcher TrafficWatcherMonitor your network traffic2.0.1
Mar 4, 2009

\ No newline at end of file diff --git a/index.zh.html b/index.zh.html index f0b8c9ff..b0a617e9 100644 --- a/index.zh.html +++ b/index.zh.html @@ -1 +1 @@ -Home - Stefan 的小工具

Stefan 的小工具

一些很方便和实用的小工具

ToolDescriptionVersionLinks
AClr AAClr改变 Aero 的颜色来配合壁纸1.0.2
April 15, 2013
BowPad BowPadA simple and fast text editor with a ribbon UI2.9.1
August 3, 2024
CommitMonitor CommitMonitor监测你的SVN库,并在有新的提交时提醒你注意1.12.1
April 27, 2018
CryptSync CryptSync在两个文件夹之间实现同步更新。其中一个文件中的文件实现同步加密。1.4.10
August 18, 2024
DemoHelper DemoHelper在屏幕上画画, 放大, 等等...2.1.1
November 2, 2023
Evernote2Onenote Evernote2OnenoteImport Evernote notebooks into Onenote1.3.6
November 30, 2023
EvImSync EvImSyncGMail和Evernote笔记相互同步的一个小工具1.0.0
Dec 28, 2010
FavIconizer FavIconizer在Internet Explorer收藏夹留住你喜欢的favicons1.4
Dec 15, 2012
FileTool FileToolLock files, create files and folders with any size and numbers1.0.0
Jan 19, 2013
grepWin grepWin借助regular expressions,实现快速,强大搜索的小工具2.1.5
August 3, 2024
MailNoter MailNoter抓取网页内容并邮件发送1.0.1
Feb 19, 2009
SendMessage SendMessage在两个Windows下相互发送信息的小工具1.2.1
December 18, 2021
SKTimeStamp SKTimeStamp从explorer改变文件日期的工具1.3.7
February 25, 2023
StExBar StExBar很个性化并且很实用的一个explorer组件1.11.2
January 15, 2021
tabspace tabspace对制表符和空格进行批量双向转换的命令行工具1.1.7
October 11, 2022
TrafficWatcher TrafficWatcher监测你的网络流量2.0.1
Mar 4, 2009
\ No newline at end of file +Home - Stefan 的小工具

Stefan 的小工具

一些很方便和实用的小工具

ToolDescriptionVersionLinks
AClr AAClr改变 Aero 的颜色来配合壁纸1.0.2
April 15, 2013
BowPad BowPadA simple and fast text editor with a ribbon UI2.9.1
August 3, 2024
CommitMonitor CommitMonitor监测你的SVN库,并在有新的提交时提醒你注意1.12.1
April 27, 2018
CryptSync CryptSync在两个文件夹之间实现同步更新。其中一个文件中的文件实现同步加密。1.4.10
August 18, 2024
DemoHelper DemoHelper在屏幕上画画, 放大, 等等...2.1.1
November 2, 2023
Evernote2Onenote Evernote2OnenoteImport Evernote notebooks into Onenote1.3.6
November 30, 2023
EvImSync EvImSyncGMail和Evernote笔记相互同步的一个小工具1.0.0
Dec 28, 2010
FavIconizer FavIconizer在Internet Explorer收藏夹留住你喜欢的favicons1.4
Dec 15, 2012
FileTool FileToolLock files, create files and folders with any size and numbers1.0.0
Jan 19, 2013
grepWin grepWin借助regular expressions,实现快速,强大搜索的小工具2.1.5
August 3, 2024
MailNoter MailNoter抓取网页内容并邮件发送1.0.1
Feb 19, 2009
SendMessage SendMessage在两个Windows下相互发送信息的小工具1.2.1
December 18, 2021
SKTimeStamp SKTimeStamp从explorer改变文件日期的工具1.3.7
February 25, 2023
StExBar StExBar很个性化并且很实用的一个explorer组件1.11.2
January 15, 2021
tabspace tabspace对制表符和空格进行批量双向转换的命令行工具1.1.7
October 11, 2022
TrafficWatcher TrafficWatcher监测你的网络流量2.0.1
Mar 4, 2009
\ No newline at end of file diff --git a/js/pack.aca9aad8.js b/js/pack.aca9aad8.js new file mode 100644 index 00000000..25b4dbcd --- /dev/null +++ b/js/pack.aca9aad8.js @@ -0,0 +1 @@ +(()=>{for(var e,t=function(){},n=["assert","clear","count","debug","dir","dirxml","error","exception","group","groupCollapsed","groupEnd","info","log","markTimeline","profile","profileEnd","table","time","timeEnd","timeStamp","trace","warn"],o=n.length,a=window.console=window.console||{};o--;)a[e=n[o]]||(a[e]=t)})(),((e,t)=>{"function"==typeof define&&define.amd?define(t):"object"==typeof exports?module.exports=t():e.baguetteBox=t()})(this,function(){var r,u,c,d,a,Y='',D='',O='',g={},f={captions:!0,buttons:"auto",fullScreen:!1,noScrollbars:!1,bodyClass:"baguetteBox-open",titleTag:!1,async:!1,preload:2,animation:"slideIn",afterShow:null,afterHide:null,onChange:null,overlayBackgroundColor:"rgba(0,0,0,.8)"},s={},p=[],o=0,n=!1,t={},i=!1,m=/.+\.(gif|jpe?g|png|webp)/i,b={},v=[],l=null,h=function(e){-1!==e.target.id.indexOf("baguette-img")&&T()},y=function(e){e.stopPropagation?e.stopPropagation():e.cancelBubble=!0,S()},w=function(e){e.stopPropagation?e.stopPropagation():e.cancelBubble=!0,A()},k=function(e){e.stopPropagation?e.stopPropagation():e.cancelBubble=!0,T()},E=function(e){t.count++,1(e&&e.preventDefault(),L(0)))(e);break;case 35:(e=>(e&&e.preventDefault(),L(p.length-1)))(e)}}function z(e,t){if(p!==e){p=e;var n,o=t;for(n in o=o||{},f)g[n]=f[n],void 0!==o[n]&&(g[n]=o[n]);u.style.transition=u.style.webkitTransition="fadeIn"===g.animation?"opacity .4s ease":"slideIn"===g.animation?"":"none","auto"===g.buttons&&("ontouchstart"in window||1===p.length)&&(g.buttons=!1),c.style.display=d.style.display=g.buttons?"":"none";try{r.style.backgroundColor=g.overlayBackgroundColor}catch(e){}for(;u.firstChild;)u.removeChild(u.firstChild);for(var a,i=[],l=[],s=v.length=0;s{var t=e.href;if(e.dataset){var n,o=[];for(n in e.dataset)"at-"!==n.substring(0,3)||isNaN(n.substring(3))||(o[n.replace("at-","")]=e.dataset[n]);for(var a=Object.keys(o).sort(function(e,t){return parseInt(e,10)
',g.captions&&o&&((i=I("figcaption")).id="baguetteBox-figcaption-"+t,i.innerHTML=o,a.appendChild(i)),l.appendChild(a),(i=I("img")).onload=function(){var e=document.querySelector("#baguette-img-"+t+" .baguetteBox-spinner");a.removeChild(e),!g.async&&n&&n()},i.setAttribute("src",s),i.alt=e&&e.alt||"",g.titleTag&&o&&(i.title=o),a.appendChild(i),g.async&&n&&n()))}function A(){return L(o+1)}function S(){return L(o-1)}function L(e,t){if(!n&&0<=e&&e=v.length)return g.animation&&G("right"),!1;N(o=e,function(){P(o),F(o)}),W(),g.onChange&&g.onChange(o,v.length)}return!0}function G(e){u.className="bounce-from-"+e,setTimeout(function(){u.className=""},400)}function W(){var e=100*-o+"%";"fadeIn"===g.animation?(u.style.opacity=0,setTimeout(function(){s.transforms?u.style.transform=u.style.webkitTransform="translate3d("+e+",0,0)":u.style.left=e,u.style.opacity=1},400)):s.transforms?u.style.transform=u.style.webkitTransform="translate3d("+e+",0,0)":u.style.left=e}function P(e){e-o>=g.preload||N(e+1,function(){P(e+1)})}function F(e){o-e>=g.preload||N(e-1,function(){F(e-1)})}function q(e,t,n,o){e.addEventListener?e.addEventListener(t,n,o):e.attachEvent("on"+t,function(e){(e=e||window.event).target=e.target||e.srcElement,n(e)})}function H(e,t,n,o){e.removeEventListener?e.removeEventListener(t,n,o):e.detachEvent("on"+t,n)}function j(e){return document.getElementById(e)}function I(e){return document.createElement(e)}return[].forEach||(Array.prototype.forEach=function(e,t){for(var n=0;n","http://www.w3.org/2000/svg"===(o.firstChild&&o.firstChild.namespaceURI)),s.passiveEvents=(()=>{var e=!1;try{var t=Object.defineProperty({},"passive",{get:function(){e=!0}});window.addEventListener("test",null,t)}catch(e){}return e})(),(r=j("baguetteBox-overlay"))?(u=j("baguetteBox-slider"),c=j("previous-button"),d=j("next-button"),a=j("close-button")):((r=I("div")).setAttribute("role","dialog"),r.id="baguetteBox-overlay",document.getElementsByTagName("body")[0].appendChild(r),(u=I("div")).id="baguetteBox-slider",r.appendChild(u),(c=I("button")).setAttribute("type","button"),c.id="previous-button",c.setAttribute("aria-label","Previous"),c.innerHTML=s.svg?Y:"<",r.appendChild(c),(d=I("button")).setAttribute("type","button"),d.id="next-button",d.setAttribute("aria-label","Next"),d.innerHTML=s.svg?D:">",r.appendChild(d),(a=I("button")).setAttribute("type","button"),a.id="close-button",a.setAttribute("aria-label","Close"),a.innerHTML=s.svg?O:"×",r.appendChild(a),c.className=d.className=a.className="baguetteBox-button",o=s.passiveEvents?{passive:!1}:null,n=s.passiveEvents?{passive:!0}:null,q(r,"click",h),q(c,"click",y),q(d,"click",w),q(a,"click",k),q(u,"contextmenu",X),q(r,"touchstart",E,n),q(r,"touchmove",x,o),q(r,"touchend",C),q(document,"focus",M,!0)),R(e),n=e,i=t,o=document.querySelectorAll(n),l={galleries:[],nodeList:o},b[n]=l,[].forEach.call(o,function(e){i&&i.filter&&(m=i.filter);var a,t=[],t="A"===e.tagName?[e]:e.getElementsByTagName("a");0!==(t=[].filter.call(t,function(e){if(-1===e.className.indexOf(i&&i.ignoreClass))return m.test(e.href)})).length&&(a=[],[].forEach.call(t,function(e,t){function n(e){e.preventDefault?e.preventDefault():e.returnValue=!1,z(a,i),U(t)}var o={eventHandler:n,imageElement:e};q(e,"click",n),a.push(o)}),l.galleries.push(a))}),l.galleries},show:L,showNext:A,showPrevious:S,hide:T,destroy:function(){var e,t,n;for(n in e=s.passiveEvents?{passive:!1}:null,t=s.passiveEvents?{passive:!0}:null,H(r,"click",h),H(c,"click",y),H(d,"click",w),H(a,"click",k),H(u,"contextmenu",X),H(r,"touchstart",E,t),H(r,"touchmove",x,e),H(r,"touchend",C),H(document,"focus",M,!0),b)b.hasOwnProperty(n)&&R(n);H(document,"keydown",B),document.getElementsByTagName("body")[0].removeChild(document.getElementById("baguetteBox-overlay")),b={},p=[],o=0}}}),(()=>{var e=".content";0!==document.querySelectorAll(e).length&&baguetteBox.run(e,{async:!1,buttons:!0,noScrollbars:!0})})(),((e,t,n,o,a)=>{e.GoogleAnalyticsObject=n,e.ga=e.ga||function(){(e.ga.q=e.ga.q||[]).push(arguments)},e.ga.l=+new Date,o=t.createElement("script"),a=t.getElementsByTagName("script")[0],o.async=1,o.src="https://www.google-analytics.com/analytics.js",a.parentNode.insertBefore(o,a)})(window,document,"ga"),ga("create","UA-61301138-1","auto"),ga("set","anonymizeIp",!0),ga("send","pageview"); \ No newline at end of file diff --git a/js/pack.fda6d87f.js b/js/pack.fda6d87f.js deleted file mode 100644 index 53194928..00000000 --- a/js/pack.fda6d87f.js +++ /dev/null @@ -1 +0,0 @@ -!function(){"use strict";for(var e,t=function(){},n=["assert","clear","count","debug","dir","dirxml","error","exception","group","groupCollapsed","groupEnd","info","log","markTimeline","profile","profileEnd","table","time","timeEnd","timeStamp","trace","warn"],o=n.length,i=window.console=window.console||{};o--;)i[e=n[o]]||(i[e]=t)}(),function(e,t){"use strict";"function"==typeof define&&define.amd?define(t):"object"==typeof exports?module.exports=t():e.baguetteBox=t()}(this,function(){"use strict";var r,u,c,d,i,Y='',D='',O='',f={},g={captions:!0,buttons:"auto",fullScreen:!1,noScrollbars:!1,bodyClass:"baguetteBox-open",titleTag:!1,async:!1,preload:2,animation:"slideIn",afterShow:null,afterHide:null,onChange:null,overlayBackgroundColor:"rgba(0,0,0,.8)"},l={},p=[],o=0,n=!1,t={},a=!1,m=/.+\.(gif|jpe?g|png|webp)/i,b={},v=[],s=null,h=function(e){-1!==e.target.id.indexOf("baguette-img")&&T()},y=function(e){e.stopPropagation?e.stopPropagation():e.cancelBubble=!0,S()},w=function(e){e.stopPropagation?e.stopPropagation():e.cancelBubble=!0,A()},k=function(e){e.stopPropagation?e.stopPropagation():e.cancelBubble=!0,T()},E=function(e){t.count++,1
',f.captions&&o&&((a=I("figcaption")).id="baguetteBox-figcaption-"+t,a.innerHTML=o,i.appendChild(a)),s.appendChild(i),(a=I("img")).onload=function(){var e=document.querySelector("#baguette-img-"+t+" .baguetteBox-spinner");i.removeChild(e),!f.async&&n&&n()},a.setAttribute("src",l),a.alt=e&&e.alt||"",f.titleTag&&o&&(a.title=o),i.appendChild(a),f.async&&n&&n()))}function A(){return L(o+1)}function S(){return L(o-1)}function L(e,t){if(!n&&0<=e&&e=v.length)return f.animation&&G("right"),!1;N(o=e,function(){P(o),F(o)}),W(),f.onChange&&f.onChange(o,v.length)}return!0}function G(e){u.className="bounce-from-"+e,setTimeout(function(){u.className=""},400)}function W(){var e=100*-o+"%";"fadeIn"===f.animation?(u.style.opacity=0,setTimeout(function(){l.transforms?u.style.transform=u.style.webkitTransform="translate3d("+e+",0,0)":u.style.left=e,u.style.opacity=1},400)):l.transforms?u.style.transform=u.style.webkitTransform="translate3d("+e+",0,0)":u.style.left=e}function P(e){e-o>=f.preload||N(e+1,function(){P(e+1)})}function F(e){o-e>=f.preload||N(e-1,function(){F(e-1)})}function q(e,t,n,o){e.addEventListener?e.addEventListener(t,n,o):e.attachEvent("on"+t,function(e){(e=e||window.event).target=e.target||e.srcElement,n(e)})}function H(e,t,n,o){e.removeEventListener?e.removeEventListener(t,n,o):e.detachEvent("on"+t,n)}function j(e){return document.getElementById(e)}function I(e){return document.createElement(e)}return[].forEach||(Array.prototype.forEach=function(e,t){for(var n=0;n","http://www.w3.org/2000/svg"===(o.firstChild&&o.firstChild.namespaceURI)),l.passiveEvents=function(){var e=!1;try{var t=Object.defineProperty({},"passive",{get:function(){e=!0}});window.addEventListener("test",null,t)}catch(e){}return e}(),(r=j("baguetteBox-overlay"))?(u=j("baguetteBox-slider"),c=j("previous-button"),d=j("next-button"),i=j("close-button")):((r=I("div")).setAttribute("role","dialog"),r.id="baguetteBox-overlay",document.getElementsByTagName("body")[0].appendChild(r),(u=I("div")).id="baguetteBox-slider",r.appendChild(u),(c=I("button")).setAttribute("type","button"),c.id="previous-button",c.setAttribute("aria-label","Previous"),c.innerHTML=l.svg?Y:"<",r.appendChild(c),(d=I("button")).setAttribute("type","button"),d.id="next-button",d.setAttribute("aria-label","Next"),d.innerHTML=l.svg?D:">",r.appendChild(d),(i=I("button")).setAttribute("type","button"),i.id="close-button",i.setAttribute("aria-label","Close"),i.innerHTML=l.svg?O:"×",r.appendChild(i),c.className=d.className=i.className="baguetteBox-button",o=l.passiveEvents?{passive:!1}:null,n=l.passiveEvents?{passive:!0}:null,q(r,"click",h),q(c,"click",y),q(d,"click",w),q(i,"click",k),q(u,"contextmenu",X),q(r,"touchstart",E,n),q(r,"touchmove",x,o),q(r,"touchend",C),q(document,"focus",M,!0)),R(e),n=e,a=t,o=document.querySelectorAll(n),s={galleries:[],nodeList:o},b[n]=s,[].forEach.call(o,function(e){a&&a.filter&&(m=a.filter);var i,t=[],t="A"===e.tagName?[e]:e.getElementsByTagName("a");0!==(t=[].filter.call(t,function(e){if(-1===e.className.indexOf(a&&a.ignoreClass))return m.test(e.href)})).length&&(i=[],[].forEach.call(t,function(e,t){function n(e){e.preventDefault?e.preventDefault():e.returnValue=!1,z(i,a),U(t)}var o={eventHandler:n,imageElement:e};q(e,"click",n),i.push(o)}),s.galleries.push(i))}),s.galleries},show:L,showNext:A,showPrevious:S,hide:T,destroy:function(){var e,t,n;for(n in e=l.passiveEvents?{passive:!1}:null,t=l.passiveEvents?{passive:!0}:null,H(r,"click",h),H(c,"click",y),H(d,"click",w),H(i,"click",k),H(u,"contextmenu",X),H(r,"touchstart",E,t),H(r,"touchmove",x,e),H(r,"touchend",C),H(document,"focus",M,!0),b)b.hasOwnProperty(n)&&R(n);H(document,"keydown",B),document.getElementsByTagName("body")[0].removeChild(document.getElementById("baguetteBox-overlay")),b={},p=[],o=0}}}),function(){"use strict";var e=".content";0!==document.querySelectorAll(e).length&&baguetteBox.run(e,{async:!1,buttons:!0,noScrollbars:!0})}(),function(e,t,n,o,i){e.GoogleAnalyticsObject=n,e.ga=e.ga||function(){(e.ga.q=e.ga.q||[]).push(arguments)},e.ga.l=+new Date,o=t.createElement("script"),i=t.getElementsByTagName("script")[0],o.async=1,o.src="https://www.google-analytics.com/analytics.js",i.parentNode.insertBefore(o,i)}(window,document,"ga"),ga("create","UA-61301138-1","auto"),ga("set","anonymizeIp",!0),ga("send","pageview"); \ No newline at end of file diff --git a/privacy.html b/privacy.html index 67e8a751..003728d4 100644 --- a/privacy.html +++ b/privacy.html @@ -1 +1 @@ -Stefans Tools

Stefans Tools

Useful open source tools that make your life easier

Privacy Policy for Stefan's tools

On the website accessible from https://tools.stefankueng.com/, a priority is the privacy of our visitors. This Privacy Policy document contains types of information that is collected and recorded by this website and how we use it.

If you have additional questions or require more information about our Privacy Policy, do not hesitate to contact us.

Log Files

'Stefan's tools' follows a standard procedure of using log files. These files log visitors when they visit websites. All hosting companies do this and a part of hosting services' analytics. The information collected by log files include internet protocol (IP) addresses, browser type, Internet Service Provider (ISP), date and time stamp, referring/exit pages, and possibly the number of clicks. These are not linked to any information that is personally identifiable. The purpose of the information is for analyzing trends, administering the site, tracking users' movement on the website, and gathering demographic information.

Cookies and Web Beacons

Like any other website, 'Stefan's tools' uses "cookies". These cookies are used to store information including visitors' preferences, and the pages on the website that the visitor accessed or visited. The information is used to optimize the users' experience by customizing our web page content based on visitors' browser type and/or other information.

Google DoubleClick DART Cookie

Google is one of a third-party vendor on our site. It also uses cookies, known as DART cookies, to serve ads to our site visitors based upon their visit to tools.stefankueng.com and other sites on the internet. However, visitors may choose to decline the use of DART cookies by visiting the Google ad and content network Privacy Policy at the following URL – https://policies.google.com/technologies/ads

Our Advertising Partners

Some of advertisers on our site may use cookies and web beacons. Our advertising partners are listed below. Each of our advertising partners has their own Privacy Policy for their policies on user data. For easier access, we hyperlinked to their Privacy Policies below.

Privacy Policies

You may consult this list to find the Privacy Policy for each of the advertising partners of 'Stefan's tools'.

Third-party ad servers or ad networks uses technologies like cookies, JavaScript, or Web Beacons that are used in their respective advertisements and links that appear on 'Stefan's tools', which are sent directly to users' browser. They automatically receive your IP address when this occurs. These technologies are used to measure the effectiveness of their advertising campaigns and/or to personalize the advertising content that you see on websites that you visit.

Note that 'Stefan's tools' has no access to or control over these cookies that are used by third-party advertisers.

Third Party Privacy Policies

'Stefan's tools''s Privacy Policy does not apply to other advertisers or websites. Thus, we are advising you to consult the respective Privacy Policies of these third-party ad servers for more detailed information. It may include their practices and instructions about how to opt-out of certain options.

You can choose to disable cookies through your individual browser options. To know more detailed information about cookie management with specific web browsers, it can be found at the browsers' respective websites.

Children's Information

Another part of our priority is adding protection for children while using the internet. We encourage parents and guardians to observe, participate in, and/or monitor and guide their online activity.

'Stefan's tools' does not knowingly collect any Personal Identifiable Information from children under the age of 13. If you think that your child provided this kind of information on our website, we strongly encourage you to contact us immediately and we will do our best efforts to promptly remove such information from our records.

Online Privacy Policy Only

This Privacy Policy applies only to our online activities and is valid for visitors to our website with regards to the information that they shared and/or collect in 'Stefan's tools'. This policy is not applicable to any information collected offline or via channels other than this website.

Consent

By using our website, you hereby consent to our Privacy Policy and agree to its Terms and Conditions.

\ No newline at end of file +Stefans Tools

Stefans Tools

Useful open source tools that make your life easier

Privacy Policy for Stefan's tools

On the website accessible from https://tools.stefankueng.com/, a priority is the privacy of our visitors. This Privacy Policy document contains types of information that is collected and recorded by this website and how we use it.

If you have additional questions or require more information about our Privacy Policy, do not hesitate to contact us.

Log Files

'Stefan's tools' follows a standard procedure of using log files. These files log visitors when they visit websites. All hosting companies do this and a part of hosting services' analytics. The information collected by log files include internet protocol (IP) addresses, browser type, Internet Service Provider (ISP), date and time stamp, referring/exit pages, and possibly the number of clicks. These are not linked to any information that is personally identifiable. The purpose of the information is for analyzing trends, administering the site, tracking users' movement on the website, and gathering demographic information.

Cookies and Web Beacons

Like any other website, 'Stefan's tools' uses "cookies". These cookies are used to store information including visitors' preferences, and the pages on the website that the visitor accessed or visited. The information is used to optimize the users' experience by customizing our web page content based on visitors' browser type and/or other information.

Google DoubleClick DART Cookie

Google is one of a third-party vendor on our site. It also uses cookies, known as DART cookies, to serve ads to our site visitors based upon their visit to tools.stefankueng.com and other sites on the internet. However, visitors may choose to decline the use of DART cookies by visiting the Google ad and content network Privacy Policy at the following URL – https://policies.google.com/technologies/ads

Our Advertising Partners

Some of advertisers on our site may use cookies and web beacons. Our advertising partners are listed below. Each of our advertising partners has their own Privacy Policy for their policies on user data. For easier access, we hyperlinked to their Privacy Policies below.

Privacy Policies

You may consult this list to find the Privacy Policy for each of the advertising partners of 'Stefan's tools'.

Third-party ad servers or ad networks uses technologies like cookies, JavaScript, or Web Beacons that are used in their respective advertisements and links that appear on 'Stefan's tools', which are sent directly to users' browser. They automatically receive your IP address when this occurs. These technologies are used to measure the effectiveness of their advertising campaigns and/or to personalize the advertising content that you see on websites that you visit.

Note that 'Stefan's tools' has no access to or control over these cookies that are used by third-party advertisers.

Third Party Privacy Policies

'Stefan's tools''s Privacy Policy does not apply to other advertisers or websites. Thus, we are advising you to consult the respective Privacy Policies of these third-party ad servers for more detailed information. It may include their practices and instructions about how to opt-out of certain options.

You can choose to disable cookies through your individual browser options. To know more detailed information about cookie management with specific web browsers, it can be found at the browsers' respective websites.

Children's Information

Another part of our priority is adding protection for children while using the internet. We encourage parents and guardians to observe, participate in, and/or monitor and guide their online activity.

'Stefan's tools' does not knowingly collect any Personal Identifiable Information from children under the age of 13. If you think that your child provided this kind of information on our website, we strongly encourage you to contact us immediately and we will do our best efforts to promptly remove such information from our records.

Online Privacy Policy Only

This Privacy Policy applies only to our online activities and is valid for visitors to our website with regards to the information that they shared and/or collect in 'Stefan's tools'. This policy is not applicable to any information collected offline or via channels other than this website.

Consent

By using our website, you hereby consent to our Privacy Policy and agree to its Terms and Conditions.

\ No newline at end of file diff --git a/regexhelp.html b/regexhelp.html index d91bb4cd..1c21fa0c 100644 --- a/regexhelp.html +++ b/regexhelp.html @@ -2,4 +2,4 @@ 0001 line 1 0002 line 2 0003 line 3 - \ No newline at end of file + \ No newline at end of file diff --git a/sitemap.xml b/sitemap.xml index 5f103e93..ad07a174 100644 --- a/sitemap.xml +++ b/sitemap.xml @@ -2,169 +2,169 @@ https://tools.stefankueng.com/AAClr.html - 2024-10-01T16:07:24.109Z + 2024-10-11T04:18:35.253Z daily 0.5 https://tools.stefankueng.com/about.html - 2024-10-01T16:07:24.110Z + 2024-10-11T04:18:35.257Z daily 0.5 https://tools.stefankueng.com/BowPad_history.html - 2024-10-01T16:07:24.111Z + 2024-10-11T04:18:35.257Z daily 0.5 https://tools.stefankueng.com/BowPad_lexerconfig.html - 2024-10-01T16:07:24.112Z + 2024-10-11T04:18:35.257Z daily 0.5 https://tools.stefankueng.com/BowPad_plugins.html - 2024-10-01T16:07:24.113Z + 2024-10-11T04:18:35.257Z daily 0.5 https://tools.stefankueng.com/BowPad_translate.html - 2024-10-01T16:07:24.114Z + 2024-10-11T04:18:35.261Z daily 0.5 https://tools.stefankueng.com/BowPad.html - 2024-10-01T16:07:24.115Z + 2024-10-11T04:18:35.261Z daily 0.5 https://tools.stefankueng.com/CommitMonitor.html - 2024-10-01T16:07:24.116Z + 2024-10-11T04:18:35.261Z daily 0.5 https://tools.stefankueng.com/CryptSync.html - 2024-10-01T16:07:24.117Z + 2024-10-11T04:18:35.261Z daily 0.5 https://tools.stefankueng.com/DemoHelper.html - 2024-10-01T16:07:24.118Z + 2024-10-11T04:18:35.265Z daily 0.5 https://tools.stefankueng.com/donate.html - 2024-10-01T16:07:24.119Z + 2024-10-11T04:18:35.265Z daily 0.5 https://tools.stefankueng.com/Evernote2Onenote.html - 2024-10-01T16:07:24.120Z + 2024-10-11T04:18:35.265Z daily 0.5 https://tools.stefankueng.com/EvImSync.html - 2024-10-01T16:07:24.121Z + 2024-10-11T04:18:35.265Z daily 0.5 https://tools.stefankueng.com/FavIconizer.html - 2024-10-01T16:07:24.121Z + 2024-10-11T04:18:35.265Z daily 0.5 https://tools.stefankueng.com/FileTool.html - 2024-10-01T16:07:24.122Z + 2024-10-11T04:18:35.269Z daily 0.5 https://tools.stefankueng.com/grepWin_cmd.html - 2024-10-01T16:07:24.123Z + 2024-10-11T04:18:35.269Z daily 0.5 https://tools.stefankueng.com/grepWin.html - 2024-10-01T16:07:24.124Z + 2024-10-11T04:18:35.269Z daily 0.5 https://tools.stefankueng.com/ - 2024-10-01T16:07:24.125Z + 2024-10-11T04:18:35.269Z daily 0.5 https://tools.stefankueng.com/index.zh.html - 2024-10-01T16:07:24.126Z + 2024-10-11T04:18:35.273Z daily 0.5 https://tools.stefankueng.com/MailNoter.html - 2024-10-01T16:07:24.126Z + 2024-10-11T04:18:35.273Z daily 0.5 https://tools.stefankueng.com/privacy.html - 2024-10-01T16:07:24.127Z + 2024-10-11T04:18:35.273Z daily 0.5 https://tools.stefankueng.com/regexhelp.html - 2024-10-01T16:07:24.128Z + 2024-10-11T04:18:35.273Z daily 0.5 https://tools.stefankueng.com/SendMessage.html - 2024-10-01T16:07:24.128Z + 2024-10-11T04:18:35.277Z daily 0.5 https://tools.stefankueng.com/SKTimeStamp.html - 2024-10-01T16:07:24.129Z + 2024-10-11T04:18:35.277Z daily 0.5 https://tools.stefankueng.com/StExBar.html - 2024-10-01T16:07:24.130Z + 2024-10-11T04:18:35.277Z daily 0.5 https://tools.stefankueng.com/svnrobots.html - 2024-10-01T16:07:24.131Z + 2024-10-11T04:18:35.277Z daily 0.5 https://tools.stefankueng.com/tabspace.html - 2024-10-01T16:07:24.132Z + 2024-10-11T04:18:35.277Z daily 0.5 https://tools.stefankueng.com/trafficWatcher.html - 2024-10-01T16:07:24.133Z + 2024-10-11T04:18:35.277Z daily 0.5 diff --git a/svnrobots.html b/svnrobots.html index be38e498..6b4f32b0 100644 --- a/svnrobots.html +++ b/svnrobots.html @@ -16,4 +16,4 @@ # http://www.example.com/svn/project/trunk/svnrobots.txt # # the first found file is used to limit the commit monitor. - \ No newline at end of file + \ No newline at end of file diff --git a/tabspace.html b/tabspace.html index dc80c6d2..71d1671b 100644 --- a/tabspace.html +++ b/tabspace.html @@ -1,4 +1,4 @@ tabspace - Stefans Tools

Stefans Tools

Useful open source tools that make your life easier

tabspace

tabspace is a small command line tool that converts tabs to spaces or spaces to tabs automatically in files. It also removes spaces at the end of lines.

It works with ANSI, UTF-8 and even UTF-16 (on Windows mostly referred to as Unicode) files alike.

The conversion is done so that the alignment always stays the same - the conversion does not simply replace the characters, but uses an algorithm to find out how the replacement has to be done.

The command line is:

 tabspace [/path:"path\to\convert"] [/checkonly] [/usetabs]
          [/tabsize:4] [/leaveeol] [/ext:"extension;list"]
-
/path
specifies the directory where all the files are to be converted, or a path to a single file to be converted
/checkonly
if specified, the files are not modified but only an info is shown
/usetabs
convert spaces to tabs instead of tabs to spaces
/tabsize
specifies the tab size, defaults to 4
/leaveeol
if specified, whitespaces at the end of lines are not removed
/ext
a list of file extensions to scan, other extensions are ignored. Defaults to c;cc;cpp;cs;cxx;h;hpp;hxx
/include
a list of patterns to include, separated by ;. If this is set, /ext must not be set!
For example c:\sub1\*.*;*\sub2\*.cpp.
/exclude
a list of patterns to ignore, separated by ;.
For example c:\sub1\*.*;*\sub2\*.cpp.

You can download the tool from here. The source code is here.

\ No newline at end of file +
/path
specifies the directory where all the files are to be converted, or a path to a single file to be converted
/checkonly
if specified, the files are not modified but only an info is shown
/usetabs
convert spaces to tabs instead of tabs to spaces
/tabsize
specifies the tab size, defaults to 4
/leaveeol
if specified, whitespaces at the end of lines are not removed
/ext
a list of file extensions to scan, other extensions are ignored. Defaults to c;cc;cpp;cs;cxx;h;hpp;hxx
/include
a list of patterns to include, separated by ;. If this is set, /ext must not be set!
For example c:\sub1\*.*;*\sub2\*.cpp.
/exclude
a list of patterns to ignore, separated by ;.
For example c:\sub1\*.*;*\sub2\*.cpp.

You can download the tool from here. The source code is here.

\ No newline at end of file diff --git a/trafficWatcher.html b/trafficWatcher.html index 60678ba0..c51a2ab5 100644 --- a/trafficWatcher.html +++ b/trafficWatcher.html @@ -1 +1 @@ -trafficWatcher - Stefans Tools

Stefans Tools

Useful open source tools that make your life easier

trafficWatcher

trafficWatcher is a small tool to monitor your network activity.

Unlike other tools, trafficWatcher can differentiate between traffic inside your LAN and the traffic that reaches the internet. It shows the current up and download speed in a small icon in the system tray.

Tray Icon

More detailed traffic information can be shown in the dialog:

Main Page

The options page allows to set the network card to use and the max speed you expect:

Options Page

You can download it from the download page.

Note: you must first install WinPCap!

\ No newline at end of file +trafficWatcher - Stefans Tools

Stefans Tools

Useful open source tools that make your life easier

trafficWatcher

trafficWatcher is a small tool to monitor your network activity.

Unlike other tools, trafficWatcher can differentiate between traffic inside your LAN and the traffic that reaches the internet. It shows the current up and download speed in a small icon in the system tray.

Tray Icon

More detailed traffic information can be shown in the dialog:

Main Page

The options page allows to set the network card to use and the max speed you expect:

Options Page

You can download it from the download page.

Note: you must first install WinPCap!

\ No newline at end of file