window resize styles
|
Before Width: | Height: | Size: 957 B After Width: | Height: | Size: 957 B |
|
Before Width: | Height: | Size: 5.5 KiB After Width: | Height: | Size: 5.5 KiB |
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 4.8 KiB After Width: | Height: | Size: 4.8 KiB |
|
Before Width: | Height: | Size: 5.6 KiB After Width: | Height: | Size: 5.6 KiB |
|
Before Width: | Height: | Size: 4.6 KiB After Width: | Height: | Size: 4.6 KiB |
BIN
public/images/cursor/resize_dark_270.png
Normal file
|
After Width: | Height: | Size: 4.4 KiB |
BIN
public/images/cursor/resize_dark_45.png
Normal file
|
After Width: | Height: | Size: 4.3 KiB |
BIN
public/images/cursor/resize_dark_h.png
Normal file
|
After Width: | Height: | Size: 4.4 KiB |
BIN
public/images/cursor/resize_dark_v.png
Normal file
|
After Width: | Height: | Size: 4.4 KiB |
BIN
public/images/cursor/resize_light_270.png
Normal file
|
After Width: | Height: | Size: 4.3 KiB |
BIN
public/images/cursor/resize_light_45.png
Normal file
|
After Width: | Height: | Size: 4.3 KiB |
BIN
public/images/cursor/resize_light_h.png
Normal file
|
After Width: | Height: | Size: 4.4 KiB |
BIN
public/images/cursor/resize_light_v.png
Normal file
|
After Width: | Height: | Size: 4.4 KiB |
BIN
public/images/cursor/resize_modern.png
Normal file
|
After Width: | Height: | Size: 2.9 KiB |
BIN
public/images/cursor/resize_modern_270.png
Normal file
|
After Width: | Height: | Size: 4.4 KiB |
BIN
public/images/cursor/resize_modern_45.png
Normal file
|
After Width: | Height: | Size: 4.4 KiB |
BIN
public/images/cursor/resize_modern_h.png
Normal file
|
After Width: | Height: | Size: 4.4 KiB |
BIN
public/images/cursor/resize_modern_v.png
Normal file
|
After Width: | Height: | Size: 4.5 KiB |
@@ -6,7 +6,6 @@ const isMobile = (
|
||||
);
|
||||
|
||||
let topZ = 100;
|
||||
const MAX_PADDING = { left: 8, top: 8, right: 8, bottom: 60 };
|
||||
const maximizeIcon = '▢';
|
||||
const restoreIcon = '🗗';
|
||||
|
||||
@@ -18,6 +17,7 @@ const ctx = new ContextMenu();
|
||||
const windowCleanup = new Map();
|
||||
const username = getCookie('sAMAccountName');
|
||||
const LS_KEY = (key) => `${username}:${key}`;
|
||||
const MAX_PADDING = { left: 4, top: 4, right: 4, bottom: (56 - 4) };
|
||||
|
||||
startBtn.addEventListener('click', (evt) => {
|
||||
evt.stopPropagation(); // verhindert sofortiges Schließen
|
||||
@@ -327,6 +327,7 @@ function handleWindowAction(payload) {
|
||||
|
||||
// focusWindowById(btn.dataset.winid);
|
||||
// });
|
||||
|
||||
taskbarWindows.addEventListener('click', (e) => {
|
||||
const btn = e.target.closest('.taskbar-item');
|
||||
if (!btn) return;
|
||||
|
||||
@@ -3,7 +3,7 @@ body, html { margin:0; padding:0; height:100%; overflow: hidden; font-family: va
|
||||
#desktop { position:relative; height:100vh; overflow:hidden; background-size:var(--theme-desktop-background-size); background-repeat: no-repeat; background-position: center; touch-action: none; }
|
||||
|
||||
#windows { z-index: 1; position:absolute; inset:0; padding:8px; box-sizing:border-box; }
|
||||
.window { min-width:250px; min-height:250px; position:absolute; width: 800px; height: 600px; border-radius:6px; box-shadow: 0 6px 20px rgba(0,0,0,0.4); overflow:hidden; top:50px; left:50px; display:flex; flex-direction:column; resize:both; }
|
||||
.window { min-width:250px; min-height:250px; position:absolute; width: 800px; height: 600px; border-radius:6px; box-shadow: 0 6px 20px rgba(0,0,0,0.4); overflow:hidden; top:50px; left:50px; display:flex; flex-direction:column; resize:none; }
|
||||
.window-titlebar { padding: 0 0 1px 0; height: auto; display:flex; justify-content:space-between; align-items:center; }
|
||||
.window-titlebar .title { display: flex; align-items: center; min-width: 0; flex: 1; overflow: hidden; }
|
||||
.window-titlebar .window-title { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; margin-left:8px; }
|
||||
@@ -13,16 +13,20 @@ body, html { margin:0; padding:0; height:100%; overflow: hidden; font-family: va
|
||||
.window .controls button { transition: background-color var(--times-transition-colors), color var(--times-transition-colors); padding: 2px 10px; border:none;}
|
||||
.window-content { display: flex; flex-direction: column; flex:1; padding:8px; overflow: auto; }
|
||||
.window[class="max"] .window-resize-handle { display: none; }
|
||||
.window-resize-handle { position:absolute; right:0; bottom:0; width:12px; height:12px; cursor:se-resize; z-index: 10; }
|
||||
.window-resize-n { top: -4px; left: 0; right: 0; height: 8px; cursor: n-resize; }
|
||||
.window-resize-s { bottom: -4px; left: 0; right: 0; height: 8px; cursor: s-resize; }
|
||||
.window-resize-e { right: -4px; top: 0; bottom: 0; width: 8px; cursor: e-resize; }
|
||||
.window-resize-w { left: -4px; top: 0; bottom: 0; width: 8px; cursor: w-resize; }
|
||||
.window-resize-ne { top: -4px; right: -4px; width: 12px; height: 12px; cursor: ne-resize; }
|
||||
.window-resize-nw { top: -4px; left: -4px; width: 12px; height: 12px; cursor: nw-resize; }
|
||||
.window-resize-se { bottom: -4px; right: -4px; width: 12px; height: 12px; cursor: se-resize; }
|
||||
.window-resize-sw { bottom: -4px; left: -4px; width: 12px; height: 12px; cursor: sw-resize; }
|
||||
|
||||
.window-resize-n, .window-resize-s { position: absolute; left: 8px; right: 8px; height: 8px; z-index: 10; }
|
||||
.window-resize-n { top: -4px;cursor: var(--theme-cursor-resize-vertical); }
|
||||
.window-resize-s { bottom: -4px;cursor: var(--theme-cursor-resize-vertical); }
|
||||
|
||||
.window-resize-e, .window-resize-w { position: absolute;top: 8px;bottom: 8px;width: 8px;z-index: 10; }
|
||||
.window-resize-e { right: -4px;cursor: var(--theme-cursor-resize-horizontal); }
|
||||
.window-resize-w { left: -4px;cursor: var(--theme-cursor-resize-horizontal); }
|
||||
|
||||
.window-resize-ne, .window-resize-nw, .window-resize-se, .window-resize-sw { position: absolute;width: 16px;height: 16px;z-index: 11; }
|
||||
.window-resize-ne { top: -6px;right: -6px;cursor: var(--theme-cursor-resize-45); }
|
||||
.window-resize-nw { top: -6px;left: -6px;cursor: var(--theme-cursor-resize-270); }
|
||||
.window-resize-se { bottom: -6px;right: -6px;cursor: var(--theme-cursor-resize-270); }
|
||||
.window-resize-sw { bottom: -6px;left: -6px;cursor: var(--theme-cursor-resize-45); }
|
||||
|
||||
#taskbar { z-index: 2; position: absolute; width:100%; bottom:0; left:0; height:auto; overflow:visible; display:flex; flex: 0 0 auto; min-width:0; align-items:center; padding:0 8px; box-sizing:border-box; }
|
||||
#start-btn { transition: background-color var(--times-transition-colors) ease; padding: 8px 12px; border-radius: 5px; border: none; margin-right:8px; }
|
||||
|
||||
@@ -54,7 +54,7 @@
|
||||
<label><b>Vollbildmodus</b></label>
|
||||
<button class="bluebutton" id="fullscreenBtn">Einschalten</button>
|
||||
<label>
|
||||
Der Vollbildmodus hat den Vorteil, dass der komplette Bildschirm mit dieser Webseite ausgefüllt wird.<br><i style="color:var(--theme-accent-default-backcolor)">Sehr nützlich für mehr als einen Bildschirme</i>
|
||||
Der Vollbildmodus hat den Vorteil, dass der komplette Bildschirm mit dieser Webseite ausgefüllt wird.<br><i style="color:var(--theme-accent-default-backcolor)">Sehr nützlich für mehr als einen Bildschirm</i>
|
||||
</label>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
{{/if}}
|
||||
<button class="minimize">▽</button>
|
||||
<button class="maximize">{{#equaler state "==" "maximized"}}🗗{{else}}▢{{/equaler}}</button>
|
||||
<button class="close">X</button>
|
||||
<button class="close">✕</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="window-content">
|
||||
|
||||