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.
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.0
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
- - !ruby/object:Gem::Dependency
13
- name: rake
14
- requirement: !ruby/object:Gem::Requirement
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: '3.0'
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: Fire-and-forget Windows toast notifications and taskbar/terminal progress,
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
@@ -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")