wintoast 0.1.0 → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +11 -335
- data/lib/wintoast.rb +4 -270
- metadata +10 -92
- data/CHANGELOG.md +0 -40
- data/ext/wintoast/extconf.rb +0 -36
- data/ext/wintoast/wintoast.cpp +0 -501
- data/lib/wintoast/payload.rb +0 -195
- data/lib/wintoast/version.rb +0 -5
metadata
CHANGED
|
@@ -1,111 +1,30 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: wintoast
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.1.
|
|
4
|
+
version: 0.1.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- ned
|
|
8
8
|
bindir: bin
|
|
9
9
|
cert_chain: []
|
|
10
10
|
date: 1980-01-02 00:00:00.000000000 Z
|
|
11
|
-
dependencies:
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
requirements:
|
|
16
|
-
- - "~>"
|
|
17
|
-
- !ruby/object:Gem::Version
|
|
18
|
-
version: '13.0'
|
|
19
|
-
type: :development
|
|
20
|
-
prerelease: false
|
|
21
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
22
|
-
requirements:
|
|
23
|
-
- - "~>"
|
|
24
|
-
- !ruby/object:Gem::Version
|
|
25
|
-
version: '13.0'
|
|
26
|
-
- !ruby/object:Gem::Dependency
|
|
27
|
-
name: rake-compiler
|
|
28
|
-
requirement: !ruby/object:Gem::Requirement
|
|
29
|
-
requirements:
|
|
30
|
-
- - "~>"
|
|
31
|
-
- !ruby/object:Gem::Version
|
|
32
|
-
version: '1.2'
|
|
33
|
-
type: :development
|
|
34
|
-
prerelease: false
|
|
35
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
36
|
-
requirements:
|
|
37
|
-
- - "~>"
|
|
38
|
-
- !ruby/object:Gem::Version
|
|
39
|
-
version: '1.2'
|
|
40
|
-
- !ruby/object:Gem::Dependency
|
|
41
|
-
name: minitest
|
|
42
|
-
requirement: !ruby/object:Gem::Requirement
|
|
43
|
-
requirements:
|
|
44
|
-
- - "~>"
|
|
45
|
-
- !ruby/object:Gem::Version
|
|
46
|
-
version: '5.0'
|
|
47
|
-
type: :development
|
|
48
|
-
prerelease: false
|
|
49
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
50
|
-
requirements:
|
|
51
|
-
- - "~>"
|
|
52
|
-
- !ruby/object:Gem::Version
|
|
53
|
-
version: '5.0'
|
|
54
|
-
- !ruby/object:Gem::Dependency
|
|
55
|
-
name: vcvars
|
|
56
|
-
requirement: !ruby/object:Gem::Requirement
|
|
57
|
-
requirements:
|
|
58
|
-
- - "~>"
|
|
59
|
-
- !ruby/object:Gem::Version
|
|
60
|
-
version: '0.1'
|
|
61
|
-
- - ">="
|
|
62
|
-
- !ruby/object:Gem::Version
|
|
63
|
-
version: 0.1.1
|
|
64
|
-
type: :development
|
|
65
|
-
prerelease: false
|
|
66
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
67
|
-
requirements:
|
|
68
|
-
- - "~>"
|
|
69
|
-
- !ruby/object:Gem::Version
|
|
70
|
-
version: '0.1'
|
|
71
|
-
- - ">="
|
|
72
|
-
- !ruby/object:Gem::Version
|
|
73
|
-
version: 0.1.1
|
|
74
|
-
description: |
|
|
75
|
-
wintoast pops native Windows toast notifications from plain Ruby scripts using
|
|
76
|
-
the WinRT notification API that ships with Windows — no Windows App SDK, no
|
|
77
|
-
packaging, no COM activation server, no elevation — and drives progress on the
|
|
78
|
-
taskbar button (ITaskbarList3) and the Windows Terminal tab (OSC 9;4) at the
|
|
79
|
-
same time, so progress shows up under classic conhost AND modern terminals.
|
|
80
|
-
|
|
81
|
-
API: Wintoast.toast (title/body/attribution, app logo + hero images, system
|
|
82
|
-
sounds, duration, scenario, expiration, tag/group), Wintoast.register! /
|
|
83
|
-
unregister! (opt-in, reversible, per-user HKCU AppUserModelId branding — no
|
|
84
|
-
shortcut, no admin), Wintoast.progress / progress_clear, and
|
|
85
|
-
Wintoast::Payload.build for inspecting the exact toast XML. Windows MSVC
|
|
86
|
-
(mswin) Ruby only.
|
|
11
|
+
dependencies: []
|
|
12
|
+
description: wintoast is discontinued. This final release contains no code and exists
|
|
13
|
+
only so that installing wintoast explains the discontinuation instead of building
|
|
14
|
+
an unmaintained native extension.
|
|
87
15
|
executables: []
|
|
88
|
-
extensions:
|
|
89
|
-
- ext/wintoast/extconf.rb
|
|
16
|
+
extensions: []
|
|
90
17
|
extra_rdoc_files: []
|
|
91
18
|
files:
|
|
92
|
-
- CHANGELOG.md
|
|
93
19
|
- LICENSE.txt
|
|
94
20
|
- README.md
|
|
95
|
-
- ext/wintoast/extconf.rb
|
|
96
|
-
- ext/wintoast/wintoast.cpp
|
|
97
21
|
- lib/wintoast.rb
|
|
98
|
-
- lib/wintoast/payload.rb
|
|
99
|
-
- lib/wintoast/version.rb
|
|
100
|
-
homepage: https://github.com/main-path/wintoast
|
|
101
22
|
licenses:
|
|
102
23
|
- MIT
|
|
103
24
|
metadata:
|
|
104
|
-
homepage_uri: https://github.com/main-path/wintoast
|
|
105
|
-
source_code_uri: https://github.com/main-path/wintoast
|
|
106
|
-
changelog_uri: https://github.com/main-path/wintoast/blob/main/CHANGELOG.md
|
|
107
|
-
bug_tracker_uri: https://github.com/main-path/wintoast/issues
|
|
108
25
|
rubygems_mfa_required: 'true'
|
|
26
|
+
post_install_message: wintoast is discontinued and this release contains no code.
|
|
27
|
+
Use win_toaster instead.
|
|
109
28
|
rdoc_options: []
|
|
110
29
|
require_paths:
|
|
111
30
|
- lib
|
|
@@ -113,7 +32,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
113
32
|
requirements:
|
|
114
33
|
- - ">="
|
|
115
34
|
- !ruby/object:Gem::Version
|
|
116
|
-
version: '
|
|
35
|
+
version: '2.0'
|
|
117
36
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
118
37
|
requirements:
|
|
119
38
|
- - ">="
|
|
@@ -122,6 +41,5 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
122
41
|
requirements: []
|
|
123
42
|
rubygems_version: 3.6.9
|
|
124
43
|
specification_version: 4
|
|
125
|
-
summary:
|
|
126
|
-
via inbox WinRT and shell APIs.
|
|
44
|
+
summary: Discontinued. Use win_toaster instead.
|
|
127
45
|
test_files: []
|
data/CHANGELOG.md
DELETED
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
# Changelog
|
|
2
|
-
|
|
3
|
-
All notable changes to this project are documented here. The format is based on
|
|
4
|
-
[Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project
|
|
5
|
-
adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
6
|
-
|
|
7
|
-
## [Unreleased]
|
|
8
|
-
|
|
9
|
-
## [0.1.0] - 2026-06-27
|
|
10
|
-
|
|
11
|
-
Initial release.
|
|
12
|
-
|
|
13
|
-
- `Wintoast.toast(title, body = nil, ...)` — fire-and-forget toast notification
|
|
14
|
-
via the inbox WinRT API (no App SDK, no packaging, no COM server). Supports
|
|
15
|
-
`aumid:`, `attribution:`, `image:`/`hero:` (local absolute paths) with
|
|
16
|
-
`circle:`, `audio:` (system sounds or `false` for silent), `duration:`,
|
|
17
|
-
`scenario:` (`:alarm`/`:incoming_call`/`:urgent`), `expires_at:`/`expires_in:`,
|
|
18
|
-
and `tag:`/`group:` replacement keys. Returns `nil` (accepted, not necessarily
|
|
19
|
-
displayed — silent suppression is undetectable by design of the platform).
|
|
20
|
-
- `Wintoast.register!(aumid:, display_name:, icon: nil)` /
|
|
21
|
-
`Wintoast.unregister!(aumid:)` — opt-in, reversible, per-user branding that
|
|
22
|
-
writes only `HKCU\Software\Classes\AppUserModelId\<aumid>`. No elevation, no
|
|
23
|
-
Start-Menu shortcut, no HKLM, no COM activator. `unregister!` is idempotent
|
|
24
|
-
(`false` when the key was absent).
|
|
25
|
-
- `Wintoast.progress(value = nil, of: 100, state: nil)` /
|
|
26
|
-
`Wintoast.progress_clear` — taskbar (`ITaskbarList3`) and Windows Terminal tab
|
|
27
|
-
(OSC 9;4) progress on every call; exactly one renders per host. Returns
|
|
28
|
-
`true`/`false` (accepted, not necessarily visible); environmental failure is a
|
|
29
|
-
`false`, never an exception. Never writes OSC bytes to a redirected stdout.
|
|
30
|
-
- `Wintoast::Payload.build(title, body = nil, ...)` — the pure-Ruby
|
|
31
|
-
`ToastGeneric` XML builder, exposed for debugging and as the escaping /
|
|
32
|
-
audio-mapping test seam.
|
|
33
|
-
- `Wintoast::POWERSHELL_AUMID` — the registered-everywhere default AUMID, so
|
|
34
|
-
`Wintoast.toast("hi")` works on a stock machine (branded "Windows PowerShell").
|
|
35
|
-
- `Wintoast::Error` / `Wintoast::OSError` (with `#code`) error hierarchy.
|
|
36
|
-
|
|
37
|
-
Windows MSVC (mswin) Ruby only; Windows 10 1809+ / Windows 11, x64.
|
|
38
|
-
|
|
39
|
-
[Unreleased]: https://github.com/main-path/wintoast/compare/v0.1.0...HEAD
|
|
40
|
-
[0.1.0]: https://github.com/main-path/wintoast/releases/tag/v0.1.0
|
data/ext/wintoast/extconf.rb
DELETED
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
#
|
|
3
|
-
# extconf.rb for the wintoast C++ extension (WinRT toasts + ITaskbarList3 +
|
|
4
|
-
# OSC 9;4 progress + HKCU AppUserModelId registration).
|
|
5
|
-
#
|
|
6
|
-
# wintoast is Windows-MSVC-only: it activates the inbox WinRT notification API
|
|
7
|
-
# via RoGetActivationFactory, drives COM (ITaskbarList3), and writes the registry
|
|
8
|
-
# — all with cl.exe. mkmf auto-discovers the .cpp source and compiles it as C++
|
|
9
|
-
# (its CXX_EXT list includes "cpp"). The guard is arch-neutral (/mswin/ only), so
|
|
10
|
-
# it passes unchanged on a future arm64-mswin Ruby (target_os stays "mswin64").
|
|
11
|
-
|
|
12
|
-
require "mkmf"
|
|
13
|
-
|
|
14
|
-
unless RbConfig::CONFIG["target_os"] =~ /mswin/
|
|
15
|
-
abort <<~MSG
|
|
16
|
-
wintoast requires a native Windows MSVC (mswin) Ruby — it binds the inbox
|
|
17
|
-
WinRT toast notification API (RoGetActivationFactory), ITaskbarList3, the
|
|
18
|
-
console VT/OSC path, and the registry, and is built with cl.exe. Your Ruby
|
|
19
|
-
is "#{RbConfig::CONFIG['arch']}". On a MinGW/UCRT Ruby this gem is not supported.
|
|
20
|
-
MSG
|
|
21
|
-
end
|
|
22
|
-
|
|
23
|
-
# C++ (WinRT ABI interfaces, std::wstring, COM patterns); enable exceptions.
|
|
24
|
-
$CXXFLAGS << " -EHsc"
|
|
25
|
-
|
|
26
|
-
# System import libs (bare "NAME.lib" tokens on mswin; no -l prefix):
|
|
27
|
-
# runtimeobject - WinRT (RoInitialize / RoGetActivationFactory /
|
|
28
|
-
# WindowsCreateStringReference / WindowsCreateString)
|
|
29
|
-
# ole32 - COM (CoInitializeEx / CoCreateInstance for ITaskbarList3)
|
|
30
|
-
# uuid - CLSID_TaskbarList / interface IIDs
|
|
31
|
-
# advapi32 - registry (RegCreateKeyExW / RegSetValueExW / RegDeleteTreeW)
|
|
32
|
-
# kernel32 (console APIs, GetConsoleWindow) is linked by default and not listed.
|
|
33
|
-
$libs = [$libs, "runtimeobject.lib", "ole32.lib", "uuid.lib", "advapi32.lib"].join(" ")
|
|
34
|
-
|
|
35
|
-
# Produces lib/wintoast/wintoast.so, required as "wintoast/wintoast".
|
|
36
|
-
create_makefile("wintoast/wintoast")
|