Skip to content

Commit e3e1fb1

Browse files
committed
Initial commit: WSL Memory Monitor v2.0
- Visual memory slider interface for WSL2 memory management - System tray monitor with color-coded indicators (1-5) - 5 preset profiles: Gaming, Windows Focus, Balanced, WSL Dev, WSL Focus - CLI support for both Windows and Linux - Auto-start capability - Real-time monitoring with 30-second updates - Designed for high-memory systems (64GB+)
0 parents  commit e3e1fb1

11 files changed

+1621
-0
lines changed

CONTRIBUTING.md

Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
# Contributing to WSL Memory Monitor
2+
3+
First off, thank you for considering contributing to WSL Memory Monitor!
4+
5+
## Code of Conduct
6+
7+
This project and everyone participating in it is governed by our Code of Conduct. By participating, you are expected to uphold this code.
8+
9+
## How Can I Contribute?
10+
11+
### Reporting Bugs
12+
13+
Before creating bug reports, please check existing issues as you might find out that you don't need to create one. When you are creating a bug report, please include as many details as possible:
14+
15+
* Use a clear and descriptive title
16+
* Describe the exact steps which reproduce the problem
17+
* Provide specific examples to demonstrate the steps
18+
* Describe the behavior you observed after following the steps
19+
* Explain which behavior you expected to see instead and why
20+
* Include screenshots if possible
21+
* Include your system details (Windows version, WSL version, RAM, etc.)
22+
23+
### Suggesting Enhancements
24+
25+
Enhancement suggestions are tracked as GitHub issues. When creating an enhancement suggestion, please include:
26+
27+
* Use a clear and descriptive title
28+
* Provide a step-by-step description of the suggested enhancement
29+
* Provide specific examples to demonstrate the steps
30+
* Describe the current behavior and explain which behavior you expected to see instead
31+
* Explain why this enhancement would be useful
32+
33+
### Pull Requests
34+
35+
* Fill in the required template
36+
* Do not include issue numbers in the PR title
37+
* Follow the PowerShell style guide
38+
* Include thoughtfully-worded, well-structured tests
39+
* Document new code
40+
* End all files with a newline
41+
42+
## Styleguides
43+
44+
### Git Commit Messages
45+
46+
* Use the present tense ("Add feature" not "Added feature")
47+
* Use the imperative mood ("Move cursor to..." not "Moves cursor to...")
48+
* Limit the first line to 72 characters or less
49+
* Reference issues and pull requests liberally after the first line
50+
51+
### PowerShell Styleguide
52+
53+
* Use PascalCase for function names
54+
* Use camelCase for variable names
55+
* Always use explicit parameter names
56+
* Include comment-based help for all functions
57+
* Use proper indentation (4 spaces)
58+
59+
### Documentation Styleguide
60+
61+
* Use Markdown
62+
* Reference functions and variables in backticks: `Get-WSLProfile`
63+
* Use clear examples with expected output
64+
65+
## Additional Notes
66+
67+
### Issue and Pull Request Labels
68+
69+
This section lists the labels we use to help us track and manage issues and pull requests.
70+
71+
* `bug` - Confirmed bugs or reports that are very likely to be bugs
72+
* `enhancement` - Feature requests
73+
* `documentation` - Improvements or additions to documentation
74+
* `good first issue` - Good for newcomers
75+
* `help wanted` - Extra attention is needed
76+
77+
Thank you for contributing!

Install-AutoStart.ps1

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
# Instalador para inicio automático con Windows
2+
3+
$StartupPath = "$env:APPDATA\Microsoft\Windows\Start Menu\Programs\Startup"
4+
$ShortcutPath = "$StartupPath\WSL Memory Monitor.lnk"
5+
$TargetPath = "$PSScriptRoot\START-MONITOR.bat"
6+
7+
Write-Host "Instalando WSL Memory Monitor en inicio de Windows..." -ForegroundColor Yellow
8+
9+
# Crear acceso directo
10+
$WshShell = New-Object -ComObject WScript.Shell
11+
$Shortcut = $WshShell.CreateShortcut($ShortcutPath)
12+
$Shortcut.TargetPath = $TargetPath
13+
$Shortcut.WorkingDirectory = $PSScriptRoot
14+
$Shortcut.IconLocation = "imageres.dll,11"
15+
$Shortcut.Description = "Monitor de memoria WSL"
16+
$Shortcut.Save()
17+
18+
Write-Host "Instalacion completada!" -ForegroundColor Green
19+
Write-Host ""
20+
Write-Host "El monitor se iniciara automaticamente con Windows." -ForegroundColor Cyan
21+
Write-Host "Tambien puedes iniciarlo ahora ejecutando START-MONITOR.bat" -ForegroundColor Cyan
22+
Write-Host ""
23+
24+
$start = Read-Host "Quieres iniciar el monitor ahora? (S/N)"
25+
if ($start -eq 'S' -or $start -eq 's') {
26+
& "$PSScriptRoot\START-MONITOR.bat"
27+
Write-Host "Monitor iniciado!" -ForegroundColor Green
28+
}
29+
30+
Write-Host ""
31+
Read-Host "Presiona Enter para salir"

LICENSE

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
GNU GENERAL PUBLIC LICENSE
2+
Version 3, 29 June 2007
3+
4+
Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>
5+
Everyone is permitted to copy and distribute verbatim copies
6+
of this license document, but changing it is not allowed.
7+
8+
Preamble
9+
10+
The GNU General Public License is a free, copyleft license for
11+
software and other kinds of works.
12+
13+
The licenses for most software and other practical works are designed
14+
to take away your freedom to share and change the works. By contrast,
15+
the GNU General Public License is intended to guarantee your freedom to
16+
share and change all versions of a program--to make sure it remains free
17+
software for all its users. We, the Free Software Foundation, use the
18+
GNU General Public License for most of our software; it applies also to
19+
any other work released this way by its authors. You can apply it to
20+
your programs, too.
21+
22+
[NOTE: This is a truncated version. For the complete GPL v3 license text,
23+
please visit: https://www.gnu.org/licenses/gpl-3.0.txt]

Make-Icon-Visible.ps1

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
# Script para sugerir a Windows que muestre el icono siempre visible
2+
# Requiere ejecutar como Administrador
3+
4+
Write-Host "================================" -ForegroundColor Cyan
5+
Write-Host " WSL Memory Monitor" -ForegroundColor Cyan
6+
Write-Host " Configurar Icono Visible" -ForegroundColor Cyan
7+
Write-Host "================================" -ForegroundColor Cyan
8+
Write-Host ""
9+
10+
# Verificar si se ejecuta como admin
11+
$isAdmin = ([Security.Principal.WindowsPrincipal] [Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole] "Administrator")
12+
13+
if (-not $isAdmin) {
14+
Write-Host "Este script necesita permisos de Administrador" -ForegroundColor Yellow
15+
Write-Host "Reiniciando como Administrador..." -ForegroundColor Yellow
16+
Start-Process powershell -Verb RunAs -ArgumentList "-ExecutionPolicy Bypass -File `"$PSCommandPath`""
17+
exit
18+
}
19+
20+
Write-Host "NOTA: Windows requiere que el usuario configure manualmente" -ForegroundColor Yellow
21+
Write-Host "que iconos son siempre visibles por razones de seguridad." -ForegroundColor Yellow
22+
Write-Host ""
23+
Write-Host "Este script abrira la configuracion correcta." -ForegroundColor Cyan
24+
Write-Host ""
25+
26+
# Detectar version de Windows
27+
$os = Get-WmiObject -Class Win32_OperatingSystem
28+
$build = [int]$os.BuildNumber
29+
30+
Write-Host "Sistema detectado: Windows $($os.Caption)" -ForegroundColor Gray
31+
Write-Host "Build: $build" -ForegroundColor Gray
32+
Write-Host ""
33+
34+
Read-Host "Presiona Enter para abrir la configuracion"
35+
36+
# Windows 11 (Build 22000+)
37+
if ($build -ge 22000) {
38+
Write-Host "Abriendo configuracion de Windows 11..." -ForegroundColor Green
39+
Start-Process "ms-settings:taskbar"
40+
Write-Host ""
41+
Write-Host "Pasos a seguir:" -ForegroundColor Cyan
42+
Write-Host "1. Busca 'Iconos de la bandeja del sistema'" -ForegroundColor White
43+
Write-Host "2. Expande esa seccion" -ForegroundColor White
44+
Write-Host "3. Busca 'WSL Memory Monitor'" -ForegroundColor White
45+
Write-Host "4. Activa el interruptor" -ForegroundColor White
46+
}
47+
# Windows 10
48+
else {
49+
Write-Host "Abriendo configuracion de Windows 10..." -ForegroundColor Green
50+
Start-Process "ms-settings:taskbar"
51+
Write-Host ""
52+
Write-Host "Pasos a seguir:" -ForegroundColor Cyan
53+
Write-Host "1. Click en 'Seleccionar los iconos que apareceran en la barra'" -ForegroundColor White
54+
Write-Host "2. Busca 'WSL Memory Monitor'" -ForegroundColor White
55+
Write-Host "3. Activa el interruptor" -ForegroundColor White
56+
}
57+
58+
Write-Host ""
59+
Write-Host "Alternativa rapida:" -ForegroundColor Yellow
60+
Write-Host "Arrastra el icono desde la bandeja oculta (flecha ^)" -ForegroundColor White
61+
Write-Host "hacia la bandeja visible" -ForegroundColor White
62+
Write-Host ""
63+
64+
Read-Host "Presiona Enter para salir"

0 commit comments

Comments
 (0)