state push
This commit is contained in:
parent
b34dfddaf1
commit
497824ebe9
BIN
eggs/assets/ljs.png
Normal file
BIN
eggs/assets/ljs.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 43 KiB |
@ -1,21 +0,0 @@
|
|||||||
[Source-applicationVersion]
|
|
||||||
dataSourceCommonSettings\activeState=true
|
|
||||||
|
|
||||||
[Source-platform]
|
|
||||||
dataSourceCommonSettings\activeState=true
|
|
||||||
|
|
||||||
[Source-qtVersion]
|
|
||||||
dataSourceCommonSettings\activeState=true
|
|
||||||
|
|
||||||
[Source-screens]
|
|
||||||
dataSourceCommonSettings\activeState=true
|
|
||||||
|
|
||||||
[Source-startCount]
|
|
||||||
dataSourceCommonSettings\activeState=true
|
|
||||||
|
|
||||||
[Source-usageTime]
|
|
||||||
dataSourceCommonSettings\activeState=true
|
|
||||||
|
|
||||||
[UserFeedback]
|
|
||||||
ApplicationStartCount=51
|
|
||||||
ApplicationTime=87191
|
|
||||||
@ -1,12 +1,12 @@
|
|||||||
[General]
|
[General]
|
||||||
audioPlayerState=@Variant(\0\0\0\b\0\0\0\x6\0\0\0\x36\0\x61\0u\0\x64\0i\0o\0P\0l\0\x61\0y\0\x65\0r\0\x43\0u\0r\0r\0\x65\0n\0t\0\x41\0l\0\x62\0u\0m\0N\0\x61\0m\0\x65\0\0\0\n\xff\xff\xff\xff\0\0\0\x38\0\x61\0u\0\x64\0i\0o\0P\0l\0\x61\0y\0\x65\0r\0\x43\0u\0r\0r\0\x65\0n\0t\0\x41\0r\0t\0i\0s\0t\0N\0\x61\0m\0\x65\0\0\0\n\xff\xff\xff\xff\0\0\0.\0\x61\0u\0\x64\0i\0o\0P\0l\0\x61\0y\0\x65\0r\0\x43\0u\0r\0r\0\x65\0n\0t\0T\0i\0t\0l\0\x65\0\0\0\n\xff\xff\xff\xff\0\0\0\x12\0i\0s\0P\0l\0\x61\0y\0i\0n\0g\0\0\0\x1\0\0\0\0\x1c\0p\0l\0\x61\0y\0\x65\0r\0\x44\0u\0r\0\x61\0t\0i\0o\0n\0\0\0\x2\0\0\0\0\0\0\0\x1c\0p\0l\0\x61\0y\0\x65\0r\0P\0o\0s\0i\0t\0i\0o\0n\0\0\0\x6\0\0\0\0\0\0\0\0)
|
audioPlayerState=@Variant(\0\0\0\b\0\0\0\x6\0\0\0\x36\0\x61\0u\0\x64\0i\0o\0P\0l\0\x61\0y\0\x65\0r\0\x43\0u\0r\0r\0\x65\0n\0t\0\x41\0l\0\x62\0u\0m\0N\0\x61\0m\0\x65\0\0\0\0\xff\xff\xff\xff\0\0\0\x38\0\x61\0u\0\x64\0i\0o\0P\0l\0\x61\0y\0\x65\0r\0\x43\0u\0r\0r\0\x65\0n\0t\0\x41\0r\0t\0i\0s\0t\0N\0\x61\0m\0\x65\0\0\0\n\0\0\0\x1c\0S\0\x61\0\x64\0M\0\x65\0l\0l\0o\0 \0M\0u\0s\0i\0\x63\0\0\0.\0\x61\0u\0\x64\0i\0o\0P\0l\0\x61\0y\0\x65\0r\0\x43\0u\0r\0r\0\x65\0n\0t\0T\0i\0t\0l\0\x65\0\0\0\n\0\0\0\x66\0S\0u\0g\0\x61\0r\0\x43\0r\0\x61\0s\0h\0!\0 \0\x32\0 \0(\0N\0o\0t\0i\0\x63\0\x65\0 \0M\0\x65\0 \0S\0\x65\0n\0p\0\x61\0i\0)\0 \0[\0\x45\0x\0t\0\x65\0n\0\x64\0\x65\0\x64\0]\0 \0-\0 \0\x42\0\x65\0m\0\x61\0x\0\0\0\x12\0i\0s\0P\0l\0\x61\0y\0i\0n\0g\0\0\0\x1\0\0\0\0\x1c\0p\0l\0\x61\0y\0\x65\0r\0\x44\0u\0r\0\x61\0t\0i\0o\0n\0\0\0\x2\0\x5\xf8\xb8\0\0\0\x1c\0p\0l\0\x61\0y\0\x65\0r\0P\0o\0s\0i\0t\0i\0o\0n\0\0\0\x6@\xdc'\0\0\0\0\0)
|
||||||
contentViewState=@ByteArray(\x82\xa2\x65index\0npreferredWidth\xfb@k\0\0\0\0\0\0\xa2\x65index\x2npreferredWidth\xfb\0\0\0\0\0\0\0\0)
|
contentViewState=@ByteArray(\x82\xa2\x65index\0npreferredWidth\xfb@k\0\0\0\0\0\0\xa2\x65index\x2npreferredWidth\xfb\0\0\0\0\0\0\0\0)
|
||||||
expandedFilterView=false
|
expandedFilterView=false
|
||||||
headerBarHeight=1e+05
|
headerBarHeight=1e+05
|
||||||
headerBarIsMaximized=false
|
headerBarIsMaximized=false
|
||||||
nowPlayingPreferLyric=false
|
nowPlayingPreferLyric=false
|
||||||
playControlItemMuted=false
|
playControlItemMuted=false
|
||||||
playControlItemVolume=100
|
playControlItemVolume=57.79575892857143
|
||||||
playListPreferredWidth=0
|
playListPreferredWidth=0
|
||||||
playListState=@Variant(\0\0\0\b\0\0\0\x5\0\0\0\x18\0\x63\0u\0r\0r\0\x65\0n\0t\0T\0r\0\x61\0\x63\0k\0\0\0\x2\0\0\0\0\0\0\0\x10\0p\0l\0\x61\0y\0L\0i\0s\0t\0\0\0\t\0\0\0\0\0\0\0\x1a\0r\0\x61\0n\0\x64\0o\0m\0M\0\x61\0p\0p\0i\0n\0g\0\0\0\t\0\0\0\0\0\0\0\x14\0r\0\x65\0p\0\x65\0\x61\0t\0M\0o\0\x64\0\x65\0\0\0\x2\0\0\0\0\0\0\0\x16\0s\0h\0u\0\x66\0\x66\0l\0\x65\0M\0o\0\x64\0\x65\0\0\0\x2\0\0\0\0)
|
playListState=@Variant(\0\0\0\b\0\0\0\x5\0\0\0\x18\0\x63\0u\0r\0r\0\x65\0n\0t\0T\0r\0\x61\0\x63\0k\0\0\0\x2\0\0\0\0\0\0\0\x10\0p\0l\0\x61\0y\0L\0i\0s\0t\0\0\0\t\0\0\0\x1\0\0\0\v\0\0\0\b\0\0\0\x2\0\x30\0\0\0\x66\0S\0u\0g\0\x61\0r\0\x43\0r\0\x61\0s\0h\0!\0 \0\x32\0 \0(\0N\0o\0t\0i\0\x63\0\x65\0 \0M\0\x65\0 \0S\0\x65\0n\0p\0\x61\0i\0)\0 \0[\0\x45\0x\0t\0\x65\0n\0\x64\0\x65\0\x64\0]\0 \0-\0 \0\x42\0\x65\0m\0\x61\0x\0\0\0\x1c\0S\0\x61\0\x64\0M\0\x65\0l\0l\0o\0 \0M\0u\0s\0i\0\x63\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\0\0\0\x2\0\x36\0\0\0\xc0\0\x66\0i\0l\0\x65\0:\0/\0/\0/\0r\0u\0n\0/\0m\0\x65\0\x64\0i\0\x61\0/\0s\0o\0m\0\x65\0o\0n\0\x65\0/\0M\0Y\0 \0I\0S\0O\0/\0\x30\0\x36\0\x36\0.\0S\0u\0g\0\x61\0r\0\x43\0r\0\x61\0s\0h\0!\0 \0\x32\0 \0(\0N\0o\0t\0i\0\x63\0\x65\0 \0M\0\x65\0 \0S\0\x65\0n\0p\0\x61\0i\0)\0 \0%\0\x35\0\x42\0\x45\0x\0t\0\x65\0n\0\x64\0\x65\0\x64\0%\0\x35\0\x44\0 \0-\0 \0\x42\0\x65\0m\0\x61\0x\0.\0m\0p\0\x33\0\0\0\x1a\0r\0\x61\0n\0\x64\0o\0m\0M\0\x61\0p\0p\0i\0n\0g\0\0\0\t\0\0\0\0\0\0\0\x14\0r\0\x65\0p\0\x65\0\x61\0t\0M\0o\0\x64\0\x65\0\0\0\x2\0\0\0\0\0\0\0\x16\0s\0h\0u\0\x66\0\x66\0l\0\x65\0M\0o\0\x64\0\x65\0\0\0\x2\0\0\0\0)
|
||||||
showPlaylist=true
|
showPlaylist=true
|
||||||
|
|||||||
@ -143,6 +143,9 @@ Sort reversed=true
|
|||||||
Speedbar Width=127
|
Speedbar Width=127
|
||||||
View Style=DetailTree
|
View Style=DetailTree
|
||||||
|
|
||||||
|
[Plugins]
|
||||||
|
krohnkiteEnabled=false
|
||||||
|
|
||||||
[PreviewSettings]
|
[PreviewSettings]
|
||||||
EnableRemoteFolderThumbnail=false
|
EnableRemoteFolderThumbnail=false
|
||||||
MaximumRemoteSize=0
|
MaximumRemoteSize=0
|
||||||
@ -154,3 +157,6 @@ activeForeground=198,208,245
|
|||||||
inactiveBackground=35,38,52
|
inactiveBackground=35,38,52
|
||||||
inactiveBlend=165,173,206
|
inactiveBlend=165,173,206
|
||||||
inactiveForeground=165,173,206
|
inactiveForeground=165,173,206
|
||||||
|
|
||||||
|
[kwin]
|
||||||
|
krohnkiteEnabled=false
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
Net/CursorBlinkTime 1000
|
Net/CursorBlinkTime 1000
|
||||||
Net/CursorBlink 1
|
Net/CursorBlink 1
|
||||||
Gdk/UnscaledDPI 98304
|
Gdk/UnscaledDPI 122880
|
||||||
Gdk/WindowScalingFactor 1
|
Gdk/WindowScalingFactor 1
|
||||||
Gtk/EnableAnimations 1
|
Gtk/EnableAnimations 1
|
||||||
Gtk/DecorationLayout "icon:minimize,maximize,close"
|
Gtk/DecorationLayout "icon:minimize,maximize,close"
|
||||||
@ -8,7 +8,7 @@ Gtk/PrimaryButtonWarpsSlider 1
|
|||||||
Gtk/ToolbarStyle 3
|
Gtk/ToolbarStyle 3
|
||||||
Gtk/MenuImages 1
|
Gtk/MenuImages 1
|
||||||
Gtk/ButtonImages 1
|
Gtk/ButtonImages 1
|
||||||
Gtk/CursorThemeSize 24
|
Gtk/CursorThemeSize 22
|
||||||
Gtk/CursorThemeName "catppuccin-frappe-blue-cursors"
|
Gtk/CursorThemeName "catppuccin-frappe-blue-cursors"
|
||||||
Net/SoundThemeName "ocean"
|
Net/SoundThemeName "ocean"
|
||||||
Net/IconThemeName "breeze-dark"
|
Net/IconThemeName "breeze-dark"
|
||||||
|
|||||||
@ -1,31 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<!DOCTYPE khotnewstuff3>
|
<!DOCTYPE khotnewstuff3>
|
||||||
<hotnewstuffregistry>
|
<hotnewstuffregistry>
|
||||||
<stuff category="720">
|
|
||||||
<name>Truely Maximized</name>
|
|
||||||
<providerid>api.kde-look.org</providerid>
|
|
||||||
<author>fin444</author>
|
|
||||||
<homepage>https://store.kde.org/p/2136524</homepage>
|
|
||||||
<licence></licence>
|
|
||||||
<version>1.1.0</version>
|
|
||||||
<rating>57</rating>
|
|
||||||
<downloads>5913</downloads>
|
|
||||||
<installedfile>/home/someone/.local/share/kwin/scripts/truely-maximized/</installedfile>
|
|
||||||
<id>2136524</id>
|
|
||||||
<releasedate>2024-12-21</releasedate>
|
|
||||||
<summary><p>A Kwin script that truely maximizes your screen space by hiding the title bars of your windows when they are maximized. You can configure a blacklist from the script settings. There is also an optional screen edge listener to toggle it off/on (look in your screen edge listener settings).</p>
|
|
||||||
|
|
||||||
<p>This is the Plasma 6 version. The Plasma 5 version can be found here: https://www.pling.com/p/2018573/</p>
|
|
||||||
|
|
||||||
<p>Based on (but not forked from) bahamondev/hide-titles https://store.kde.org/p/1354715</p>
|
|
||||||
</summary>
|
|
||||||
<changelog></changelog>
|
|
||||||
<preview>https://images.pling.com/cache/100x100-4/img/00/00/71/36/84/2136524/max11.png</preview>
|
|
||||||
<previewBig>https://images.pling.com/cache/770x540-4/img/00/00/71/36/84/2136524/max11.png</previewBig>
|
|
||||||
<payload>https://files06.pling.com/api/files/download/j/eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI6MTczNDgxMzM3MCwibyI6IjEiLCJzIjoiOWI5OTJkMTFkNTMyYmMxODZlM2UxYTcxMGUzYWM1YjEyMjUzNTJhOWJhODhlZmI5MmM4OWI0NDljOTVhZDI3YmY4ZGFhOTU2OGJhZjI3YzA0YTJmZjljYzJmZDRmNDdmMzQzOTM3YzNlMDdmNTgyODk0YzJjNTQ0MTU5MDgxNDkiLCJ0IjoxNzQ4NjU0MTg2LCJzdGZwIjpudWxsLCJzdGlwIjoiODcuMTMzLjI4LjI1NSJ9.WwQ1rSrdg_ghrfdVyRNV49KjFXgwseIdVVsL0KHzEn0/truely-maximized-1.2.0.kwinscript</payload>
|
|
||||||
<tags>linux,gplv3,original-product,unix</tags>
|
|
||||||
<status>installed</status>
|
|
||||||
</stuff>
|
|
||||||
<stuff category="720">
|
<stuff category="720">
|
||||||
<name>KWin dynamic workspaces</name>
|
<name>KWin dynamic workspaces</name>
|
||||||
<providerid>api.kde-look.org</providerid>
|
<providerid>api.kde-look.org</providerid>
|
||||||
@ -34,31 +9,56 @@
|
|||||||
<licence></licence>
|
<licence></licence>
|
||||||
<version>3.2</version>
|
<version>3.2</version>
|
||||||
<rating>75</rating>
|
<rating>75</rating>
|
||||||
<downloads>13985</downloads>
|
<downloads>21587</downloads>
|
||||||
<installedfile>/home/someone/.local/share/kwin/scripts/dynamic_workspaces/</installedfile>
|
<installedfile>/home/someone/.local/share/kwin/scripts/dynamic_workspaces/</installedfile>
|
||||||
<id>1312691</id>
|
<id>1312691</id>
|
||||||
<releasedate>2025-04-13</releasedate>
|
<releasedate>2025-04-13</releasedate>
|
||||||
<summary><p>A kwin script that creates and deletes desktops as you move windows on the last one.</p>
|
<summary><p>A kwin script that creates and deletes desktops as you move windows on the last one.<br /><br />I intented to replicate some of gnome-desktop's behavior with moving windows around.<br />As this is a simple script for satisfying my needs, it only workds horizontally left-toright.<br />The behaviour is following:<br /><br />- There is always an empty desktop on the right<br />- When you move a window to that desktop, a new desktop is created<br />- When you move window away from last desktop, or close the window,<br /> the desktop is destroyed<br /><br />If you encounter problems, file an issue at my github repo: <a href="https://github.com/d86leader/dynamic_workspaces">https://github.com/d86leader/dynamic_workspaces</a><br />If you don't encounter problems, file a star on my github repo: <a href="https://github.com/d86leader/dynamic_workspaces">https://github.com/d86leader/dynamic_workspaces</a> , why don't ya.</p></summary>
|
||||||
|
|
||||||
<p>I intented to replicate some of gnome-desktop's behavior with moving windows around.
|
|
||||||
As this is a simple script for satisfying my needs, it only workds horizontally left-toright.
|
|
||||||
The behaviour is following:</p>
|
|
||||||
|
|
||||||
<ul>
|
|
||||||
<li>There is always an empty desktop on the right</li>
|
|
||||||
<li>When you move a window to that desktop, a new desktop is created</li>
|
|
||||||
<li>When you move window away from last desktop, or close the window,
|
|
||||||
the desktop is destroyed</li>
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
<p>If you encounter problems, file an issue at my github repo: https://github.com/d86leader/dynamic<em>workspaces
|
|
||||||
If you don't encounter problems, file a star on my github repo: https://github.com/d86leader/dynamic</em>workspaces , why don't ya.</p>
|
|
||||||
</summary>
|
|
||||||
<changelog></changelog>
|
<changelog></changelog>
|
||||||
<preview>https://images.pling.com/cache/100x100-4/img/00/00/53/85/99/1312691/f3197437783b57b5ca24861dc05d50a390d1.png</preview>
|
<preview>https://images.pling.com/cache/770x540-4/img/00/00/53/85/99/1312691/f3197437783b57b5ca24861dc05d50a390d1.png</preview>
|
||||||
<previewBig>https://images.pling.com/cache/770x540-4/img/00/00/53/85/99/1312691/f3197437783b57b5ca24861dc05d50a390d1.png</previewBig>
|
<previewBig>https://images.pling.com/cache/770x540-4/img/00/00/53/85/99/1312691/f3197437783b57b5ca24861dc05d50a390d1.png</previewBig>
|
||||||
<payload>https://files06.pling.com/api/files/download/j/eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI6MTc0NDU1MjEyMCwibyI6IjEiLCJzIjoiZDMxYmU5ZjhiZDM5YmJmZjk0YjhkYmNiNzg3NWZlZGE4MDgzMzk1MDM5MjJmMjljYTk2NzYxYjJlZTM1OTFlYjJhY2I4N2YxM2ExMTQ3Njc3YmM4ZjFjZjQwNjY0YjBkZDU1NmE1YzQ0MjdjYzBiZmNjNmEzNWFkMGMwNjkwNmUiLCJ0IjoxNzQ4NjUzOTY0LCJzdGZwIjpudWxsLCJzdGlwIjoiODcuMTMzLjI4LjI1NSJ9.GCOII9YmPyFcft3GeHLiwZX6PAr8bDzAoZ7tc94_deg/dynamic-workspaces.tar.gz</payload>
|
<payload>https://files06.pling.com/api/files/download/j/eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI6MTc0NDU1MjEyMCwibyI6IjEiLCJzIjoiZDMxYmU5ZjhiZDM5YmJmZjk0YjhkYmNiNzg3NWZlZGE4MDgzMzk1MDM5MjJmMjljYTk2NzYxYjJlZTM1OTFlYjJhY2I4N2YxM2ExMTQ3Njc3YmM4ZjFjZjQwNjY0YjBkZDU1NmE1YzQ0MjdjYzBiZmNjNmEzNWFkMGMwNjkwNmUiLCJ0IjoxNzQ4NjUzOTY0LCJzdGZwIjpudWxsLCJzdGlwIjoiODcuMTMzLjI4LjI1NSJ9.GCOII9YmPyFcft3GeHLiwZX6PAr8bDzAoZ7tc94_deg/dynamic-workspaces.tar.gz</payload>
|
||||||
<tags>bsd-license,linux,original-product,unix</tags>
|
<tags>bsd-license,unix,original-product,linux</tags>
|
||||||
<status>installed</status>
|
<status>installed</status>
|
||||||
</stuff>
|
</stuff>
|
||||||
|
<stuff category="720">
|
||||||
|
<name>Krohnkite</name>
|
||||||
|
<providerid>api.kde-look.org</providerid>
|
||||||
|
<author>anametologin</author>
|
||||||
|
<homepage>https://store.kde.org/p/2144146</homepage>
|
||||||
|
<licence></licence>
|
||||||
|
<version>0.9.9.2</version>
|
||||||
|
<rating>82</rating>
|
||||||
|
<downloads>120934</downloads>
|
||||||
|
<installedfile>/home/someone/.config/yolk/eggs/kde_locals/kwin/scripts/krohnkite/</installedfile>
|
||||||
|
<id>2144146</id>
|
||||||
|
<releasedate>2026-02-09</releasedate>
|
||||||
|
<summary><p>A dynamic tiling extension for KWin6.<br /><br />Kr&ouml;hnkite is mainly inspired by dwm from suckless folks, and aims to be &quot;simple&quot; in both development and usage.<br /><br />Features<br />------------<br /><em> DWM-like window tiling<br />- Dynamically tile windows, rather than manually placing each.<br />- Floating windows<br /></em> Multiple Layout Support<br />- Tiling layout<br />- Monocle layout<br />- Desktop-friendly layouts (Spread, Stair)<br />* Integrates well into KWin features, including:<br />- Activities<br />- Virtual desktops<br />- Window switcher<br />- Fullscreen (KWin can fullscreen any window)<br />- Minimization<br /><br />Look at me<br />------------<br />1. Delete old or unused KWin shortcuts with reboot after it:<br />qdbus org.kde.kglobalaccel /component/kwin org.kde.kglobalaccel.Component.cleanUp<br />2. If you have a gap or vice versa you have gray(white etc) rectangle that means that there is a program with size 1x1 that have to be filtered by title or other ways. Make sure that the following programs, if you have them, have been added to the filter:<br /> 2.1 xwaylandvideobridge</p></summary>
|
||||||
|
<changelog></changelog>
|
||||||
|
<preview>https://images.pling.com/cache/770x540-4/img/00/00/77/69/99/2144146/krohnkite1.png</preview>
|
||||||
|
<previewBig>https://images.pling.com/cache/770x540-4/img/00/00/77/69/99/2144146/krohnkite1.png</previewBig>
|
||||||
|
<payload>https://files06.pling.com/api/files/download/j/eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI6MTc1MzQyNzcxNCwibyI6IjEiLCJzIjoiNWU1NTA1MzBkNGVmOWNmMmQ0MTYxMGVjYzRlZGU3NmQ1YjVlMTM2YWFmZmM3YTc0OTEyNjViZjA4YzBlZWI1NTI5M2RiNjQ3YjdjYWYyNmM4ZTgyZjgxNDkwN2ZiOGEwNGM1Yzg3Mjg3YmU4NWJhYTYzODhjNTVjMWQ1Y2FmMTEiLCJ0IjoxNzgxMDQ0ODYzLCJzdGZwIjpudWxsLCJzdGlwIjoiODAuMTg3Ljg3LjIyMSJ9.dCoxOcFtCEX9Vg-ji2PTmZPia2uhS8mNEvWb6jiVdvk/krohnkite-0.9.9.2-1d7fd74.kwinscript</payload>
|
||||||
|
<tags>unix,tiling,efi,linux,mit-license,kwin</tags>
|
||||||
|
<status>installed</status>
|
||||||
|
</stuff>
|
||||||
|
<stuff category="720">
|
||||||
|
<name>Truely Maximized</name>
|
||||||
|
<providerid>api.kde-look.org</providerid>
|
||||||
|
<author>fin444</author>
|
||||||
|
<homepage>https://store.kde.org/p/2136524</homepage>
|
||||||
|
<licence></licence>
|
||||||
|
<version>1.1.0</version>
|
||||||
|
<rating>57</rating>
|
||||||
|
<downloads>12178</downloads>
|
||||||
|
<installedfile>/home/someone/.local/share/kwin/scripts/truely-maximized/</installedfile>
|
||||||
|
<id>2136524</id>
|
||||||
|
<releasedate>2024-12-21</releasedate>
|
||||||
|
<summary><p>A Kwin script that truely maximizes your screen space by hiding the title bars of your windows when they are maximized. You can configure a blacklist from the script settings. There is also an optional screen edge listener to toggle it off/on (look in your screen edge listener settings).<br /><br />This is the Plasma 6 version. The Plasma 5 version can be found here: <a href="https://www.pling.com/p/2018573/">https://www.pling.com/p/2018573/</a><br /><br />Based on (but not forked from) bahamondev/hide-titles <a href="https://store.kde.org/p/1354715">https://store.kde.org/p/1354715</a></p></summary>
|
||||||
|
<changelog></changelog>
|
||||||
|
<preview>https://images.pling.com/cache/770x540-4/img/00/00/71/36/84/2136524/max11.png</preview>
|
||||||
|
<previewBig>https://images.pling.com/cache/770x540-4/img/00/00/71/36/84/2136524/max11.png</previewBig>
|
||||||
|
<payload>https://files06.pling.com/api/files/download/j/eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI6MTczNDgxMzM3MCwibyI6IjEiLCJzIjoiOWI5OTJkMTFkNTMyYmMxODZlM2UxYTcxMGUzYWM1YjEyMjUzNTJhOWJhODhlZmI5MmM4OWI0NDljOTVhZDI3YmY4ZGFhOTU2OGJhZjI3YzA0YTJmZjljYzJmZDRmNDdmMzQzOTM3YzNlMDdmNTgyODk0YzJjNTQ0MTU5MDgxNDkiLCJ0IjoxNzQ4NjU0MTg2LCJzdGZwIjpudWxsLCJzdGlwIjoiODcuMTMzLjI4LjI1NSJ9.WwQ1rSrdg_ghrfdVyRNV49KjFXgwseIdVVsL0KHzEn0/truely-maximized-1.2.0.kwinscript</payload>
|
||||||
|
<tags>original-product,linux,gplv3,unix</tags>
|
||||||
|
<status>updateable</status>
|
||||||
|
</stuff>
|
||||||
</hotnewstuffregistry>
|
</hotnewstuffregistry>
|
||||||
|
|||||||
@ -7,21 +7,18 @@
|
|||||||
<author>antroids</author>
|
<author>antroids</author>
|
||||||
<homepage>https://store.kde.org/p/2135509</homepage>
|
<homepage>https://store.kde.org/p/2135509</homepage>
|
||||||
<licence></licence>
|
<licence></licence>
|
||||||
<version>0.8.5</version>
|
<version>0.9.1</version>
|
||||||
<rating>83</rating>
|
<rating>86</rating>
|
||||||
<downloads>14232</downloads>
|
<downloads>31611</downloads>
|
||||||
<installedfile>/home/someone/.local/share/plasma/plasmoids/com.github.antroids.application-title-bar/</installedfile>
|
<installedfile>/home/someone/.config/yolk/eggs/kde_locals/plasma/plasmoids/com.github.antroids.application-title-bar/</installedfile>
|
||||||
<id>2135509</id>
|
<id>2135509</id>
|
||||||
<releasedate>2025-04-22</releasedate>
|
<releasedate>2026-06-13</releasedate>
|
||||||
<summary><p>Widget with window title and control buttons.</p>
|
<summary><p>Widget with window title and control buttons.<br /><br />In cases of panel freezes or crashes: <a href="https://github.com/antroids/application-title-bar?tab=readme-ov-file#-in-cases-of-panel-freezes-or-crashes">https://github.com/antroids/application-title-bar?tab=readme-ov-file#-in-cases-of-panel-freezes-or-crashes</a>-</p></summary>
|
||||||
|
|
||||||
<p>In cases of panel freezes or crashes: https://github.com/antroids/application-title-bar?tab=readme-ov-file#-in-cases-of-panel-freezes-or-crashes-</p>
|
|
||||||
</summary>
|
|
||||||
<changelog></changelog>
|
<changelog></changelog>
|
||||||
<preview>https://images.pling.com/cache/100x100-4/img/00/00/77/08/97/2135509/logonew.png</preview>
|
<preview>https://images.pling.com/cache/770x540-4/img/00/00/77/08/97/2135509/logonew.png</preview>
|
||||||
<previewBig>https://images.pling.com/cache/770x540-4/img/00/00/77/08/97/2135509/logonew.png</previewBig>
|
<previewBig>https://images.pling.com/cache/770x540-4/img/00/00/77/08/97/2135509/logonew.png</previewBig>
|
||||||
<payload>https://files06.pling.com/api/files/download/j/eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI6MTc0NTM0MDAyMSwibyI6IjEiLCJzIjoiZDUyZjhlNWMyMGI1MjIyM2Y4YmY0ZWVjZWFhZjRmYTE2NzdkYjUwZTgzMjAxYjA3ZmQ0MDVjYWEyOGZkMzM0MTExYzU4N2FlYWIzYzBhYmZhNjIzYzFmMzRkZDA3Njc0OWIwZDgxOTI2ZWFmODcyZDk5Nzg2Y2U4OWI0OWQ5ZTIiLCJ0IjoxNzQ4NjUzNzExLCJzdGZwIjpudWxsLCJzdGlwIjoiODcuMTMzLjI4LjI1NSJ9.F-19BHqFtfzt8DACcj6Ryw4qThwrl8FFYGsTbkdxH0g/application-title-bar-0-8-5.plasmoid</payload>
|
<payload>https://files06.pling.com/api/files/download/j/eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI6MTc4MTM4MjQyMCwibyI6IjEiLCJzIjoiZTdmYjI1NjMyNjg5ZTIxYWQ5MzQxODNmYzg0Nzc3YTU2NDhhZmYxMWM5ODE5NzVmNmM5NDZhZGMwMGVkNjhjYjAzZTk3OTI3ZWYwYWYxNTE4ZWI3Zjg3MmZiMzVmNjliNjJjNTZiMDdkZGIyNmI2ODA0MmNkNzJlMDcyMWU3NzYiLCJ0IjoxNzgzNDE4NTI2LCJzdGZwIjpudWxsLCJzdGlwIjoiODAuMTUwLjExLjEwIn0.NdJiSRrLMCnLjzXoBx6gH4NSOTmySUoaOmZhW6OUC7I/application-title-bar-0.9.1.plasmoid</payload>
|
||||||
<tags>unix,original-product,plasma,plasma##majorversion=6,plasmoid,notitlebar,widget,window,linux,kde,kde-plasma,extension,gplv3,buttons</tags>
|
<tags>extension,gplv3,kde,kde-plasma,linux,widget,window,original-product,plasma,plasma##majorversion=6,plasmoid,notitlebar,unix,buttons</tags>
|
||||||
<status>installed</status>
|
<status>installed</status>
|
||||||
</stuff>
|
</stuff>
|
||||||
</hotnewstuffregistry>
|
</hotnewstuffregistry>
|
||||||
|
|||||||
Binary file not shown.
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"$fdo_created": "1748649994",
|
"$fdo_created": "1748649994",
|
||||||
"$fdo_modified": "1780476061",
|
"$fdo_modified": "1785664260",
|
||||||
"Chromium Keys/Chromium Safe Storage": {
|
"Chromium Keys/Chromium Safe Storage": {
|
||||||
"$fdo_created": "1748704742",
|
"$fdo_created": "1748704742",
|
||||||
"$fdo_mime_type": "text/plain",
|
"$fdo_mime_type": "text/plain",
|
||||||
@ -12,6 +12,17 @@
|
|||||||
"xdg:schema": "org.qt.keychain"
|
"xdg:schema": "org.qt.keychain"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"Network Management/{14957886-4e15-40ec-afab-56548d413820};802-11-wireless-security": {
|
||||||
|
"$fdo_created": "1783511934",
|
||||||
|
"$fdo_mime_type": "text/plain",
|
||||||
|
"$fdo_modified": "1783511934",
|
||||||
|
"attributes": {
|
||||||
|
"server": "Network Management",
|
||||||
|
"type": "map",
|
||||||
|
"user": "{14957886-4e15-40ec-afab-56548d413820};802-11-wireless-security",
|
||||||
|
"xdg:schema": "org.qt.keychain"
|
||||||
|
}
|
||||||
|
},
|
||||||
"Network Management/{397a39fc-ebe9-4912-88cd-3548359cd7a5};802-11-wireless-security": {
|
"Network Management/{397a39fc-ebe9-4912-88cd-3548359cd7a5};802-11-wireless-security": {
|
||||||
"$fdo_created": "1758984333",
|
"$fdo_created": "1758984333",
|
||||||
"$fdo_mime_type": "text/plain",
|
"$fdo_mime_type": "text/plain",
|
||||||
@ -34,17 +45,6 @@
|
|||||||
"xdg:schema": "org.qt.keychain"
|
"xdg:schema": "org.qt.keychain"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Network Management/{470e7734-143b-4bc8-9985-c64121230dae};vpn": {
|
|
||||||
"$fdo_created": "1780383175",
|
|
||||||
"$fdo_mime_type": "text/plain",
|
|
||||||
"$fdo_modified": "1780383175",
|
|
||||||
"attributes": {
|
|
||||||
"server": "Network Management",
|
|
||||||
"type": "map",
|
|
||||||
"user": "{470e7734-143b-4bc8-9985-c64121230dae};vpn",
|
|
||||||
"xdg:schema": "org.qt.keychain"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"Network Management/{51d8d773-75ef-46ff-866e-61436d7fd531};802-11-wireless-security": {
|
"Network Management/{51d8d773-75ef-46ff-866e-61436d7fd531};802-11-wireless-security": {
|
||||||
"$fdo_created": "1769858713",
|
"$fdo_created": "1769858713",
|
||||||
"$fdo_mime_type": "text/plain",
|
"$fdo_mime_type": "text/plain",
|
||||||
@ -133,17 +133,6 @@
|
|||||||
"xdg:schema": "org.qt.keychain"
|
"xdg:schema": "org.qt.keychain"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Network Management/{bf7a61ad-8c5f-4623-b759-0bd0a62d2fb2};802-11-wireless-security": {
|
|
||||||
"$fdo_created": "1779069606",
|
|
||||||
"$fdo_mime_type": "text/plain",
|
|
||||||
"$fdo_modified": "1779069606",
|
|
||||||
"attributes": {
|
|
||||||
"server": "Network Management",
|
|
||||||
"type": "map",
|
|
||||||
"user": "{bf7a61ad-8c5f-4623-b759-0bd0a62d2fb2};802-11-wireless-security",
|
|
||||||
"xdg:schema": "org.qt.keychain"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"Network Management/{c18cb36a-7b3f-4377-bc34-c71a2eff8cc4};802-11-wireless-security": {
|
"Network Management/{c18cb36a-7b3f-4377-bc34-c71a2eff8cc4};802-11-wireless-security": {
|
||||||
"$fdo_created": "1748855789",
|
"$fdo_created": "1748855789",
|
||||||
"$fdo_mime_type": "text/plain",
|
"$fdo_mime_type": "text/plain",
|
||||||
@ -199,6 +188,17 @@
|
|||||||
"xdg:schema": "org.qt.keychain"
|
"xdg:schema": "org.qt.keychain"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"Network Management/{ce516a0e-57fb-464e-a6f2-e2ca54fefd0e};802-11-wireless-security": {
|
||||||
|
"$fdo_created": "1781508403",
|
||||||
|
"$fdo_mime_type": "text/plain",
|
||||||
|
"$fdo_modified": "1781508403",
|
||||||
|
"attributes": {
|
||||||
|
"server": "Network Management",
|
||||||
|
"type": "map",
|
||||||
|
"user": "{ce516a0e-57fb-464e-a6f2-e2ca54fefd0e};802-11-wireless-security",
|
||||||
|
"xdg:schema": "org.qt.keychain"
|
||||||
|
}
|
||||||
|
},
|
||||||
"Network Management/{cfd294ec-e27b-4f89-bd3e-470087e9fb7b};vpn": {
|
"Network Management/{cfd294ec-e27b-4f89-bd3e-470087e9fb7b};vpn": {
|
||||||
"$fdo_created": "1763038224",
|
"$fdo_created": "1763038224",
|
||||||
"$fdo_mime_type": "text/plain",
|
"$fdo_mime_type": "text/plain",
|
||||||
@ -244,9 +244,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Nextcloud/someone:https://nextcloud.urmel.de/:0": {
|
"Nextcloud/someone:https://nextcloud.urmel.de/:0": {
|
||||||
"$fdo_created": "1780476060",
|
"$fdo_created": "1785584858",
|
||||||
"$fdo_mime_type": "text/plain",
|
"$fdo_mime_type": "text/plain",
|
||||||
"$fdo_modified": "1780476060",
|
"$fdo_modified": "1785584858",
|
||||||
"attributes": {
|
"attributes": {
|
||||||
"server": "Nextcloud",
|
"server": "Nextcloud",
|
||||||
"type": "plaintext",
|
"type": "plaintext",
|
||||||
@ -266,9 +266,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Nextcloud/someone_app-password:https://nextcloud.urmel.de/:0": {
|
"Nextcloud/someone_app-password:https://nextcloud.urmel.de/:0": {
|
||||||
"$fdo_created": "1780476061",
|
"$fdo_created": "1785584983",
|
||||||
"$fdo_mime_type": "text/plain",
|
"$fdo_mime_type": "text/plain",
|
||||||
"$fdo_modified": "1780476061",
|
"$fdo_modified": "1785584983",
|
||||||
"attributes": {
|
"attributes": {
|
||||||
"server": "Nextcloud",
|
"server": "Nextcloud",
|
||||||
"type": "base64",
|
"type": "base64",
|
||||||
@ -299,9 +299,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Passwords/smb-ljs-dc-01:-1": {
|
"Passwords/smb-ljs-dc-01:-1": {
|
||||||
"$fdo_created": "1780389603",
|
"$fdo_created": "1784296199",
|
||||||
"$fdo_mime_type": "text/plain",
|
"$fdo_mime_type": "text/plain",
|
||||||
"$fdo_modified": "1780389603",
|
"$fdo_modified": "1784296199",
|
||||||
"attributes": {
|
"attributes": {
|
||||||
"server": "Passwords",
|
"server": "Passwords",
|
||||||
"type": "map",
|
"type": "map",
|
||||||
|
|||||||
@ -0,0 +1 @@
|
|||||||
|
print("KWin need me. Don't ask why.");
|
||||||
5229
eggs/kde_locals/kwin/scripts/krohnkite/contents/code/script.js
Normal file
5229
eggs/kde_locals/kwin/scripts/krohnkite/contents/code/script.js
Normal file
File diff suppressed because it is too large
Load Diff
448
eggs/kde_locals/kwin/scripts/krohnkite/contents/config/main.xml
Normal file
448
eggs/kde_locals/kwin/scripts/krohnkite/contents/config/main.xml
Normal file
@ -0,0 +1,448 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<kcfg xmlns="http://www.kde.org/standards/kcfg/1.0"
|
||||||
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xsi:schemaLocation="http://www.kde.org/standards/kcfg/1.0
|
||||||
|
http://www.kde.org/standards/kcfg/1.0/kcfg.xsd" >
|
||||||
|
<kcfgfile name=""/>
|
||||||
|
<group name="">
|
||||||
|
|
||||||
|
<entry name="dockOrderLeft" type="Int">
|
||||||
|
<label>The order of the docked window in the dock</label>
|
||||||
|
<default>1</default>
|
||||||
|
</entry>
|
||||||
|
|
||||||
|
<entry name="dockOrderTop" type="Int">
|
||||||
|
<label>The order of the docked window in the dock</label>
|
||||||
|
<default>2</default>
|
||||||
|
</entry>
|
||||||
|
|
||||||
|
<entry name="dockOrderRight" type="Int">
|
||||||
|
<label>The order of the docked window in the dock</label>
|
||||||
|
<default>3</default>
|
||||||
|
</entry>
|
||||||
|
|
||||||
|
<entry name="dockOrderBottom" type="Int">
|
||||||
|
<label>The order of the docked window in the dock</label>
|
||||||
|
<default>4</default>
|
||||||
|
</entry>
|
||||||
|
|
||||||
|
<entry name="dockHHeight" type="Int">
|
||||||
|
<label>The default height of a horizontal docked window in percent</label>
|
||||||
|
<default>15</default>
|
||||||
|
</entry>
|
||||||
|
|
||||||
|
<entry name="dockHWide" type="Int">
|
||||||
|
<label>The default width of a horizontal docked window in percent</label>
|
||||||
|
<default>100</default>
|
||||||
|
</entry>
|
||||||
|
|
||||||
|
<entry name="dockHGap" type="Int">
|
||||||
|
<label>The default Gap of a horizontal docked window in pixels</label>
|
||||||
|
<default>0</default>
|
||||||
|
</entry>
|
||||||
|
|
||||||
|
<entry name="dockHEdgeGap" type="Int">
|
||||||
|
<label>The default Vertical Gap of a horizontal docked window in pixels</label>
|
||||||
|
<default>0</default>
|
||||||
|
</entry>
|
||||||
|
|
||||||
|
<entry name="dockHAlignment" type="Int">
|
||||||
|
<label>The default Alignment of a horizontal docked window which can be Center , Left, Right</label>
|
||||||
|
<default>0</default>
|
||||||
|
</entry>
|
||||||
|
|
||||||
|
<entry name="dockHEdgeAlignment" type="Int">
|
||||||
|
<label>The default vertical Alignment of a horizontal docked window which can be Edge Screen, Middle, Center Screen</label>
|
||||||
|
<default>0</default>
|
||||||
|
</entry>
|
||||||
|
|
||||||
|
<entry name="dockVHeight" type="Int">
|
||||||
|
<label>The default height of a vertical docked window in percent</label>
|
||||||
|
<default>100</default>
|
||||||
|
</entry>
|
||||||
|
|
||||||
|
<entry name="dockVWide" type="Int">
|
||||||
|
<label>The default width of a vertical docked window in percent</label>
|
||||||
|
<default>15</default>
|
||||||
|
</entry>
|
||||||
|
|
||||||
|
<entry name="dockVEdgeGap" type="Int">
|
||||||
|
<label>The default horizontal Gap of a vertical docked window in pixels</label>
|
||||||
|
<default>0</default>
|
||||||
|
</entry>
|
||||||
|
|
||||||
|
<entry name="dockVGap" type="Int">
|
||||||
|
<label>The default Gap of a vertical docked window in pixels</label>
|
||||||
|
<default>0</default>
|
||||||
|
</entry>
|
||||||
|
|
||||||
|
<entry name="dockVEdgeAlignment" type="Int">
|
||||||
|
<label>The default horizontal Alignment of a vertical docked window which can be Edge Screen, Middle or Center Screen</label>
|
||||||
|
<default>0</default>
|
||||||
|
</entry>
|
||||||
|
|
||||||
|
<entry name="dockVAlignment" type="Int">
|
||||||
|
<label>The default vertical Alignment of a vertical docked window which can be Center, Top, Bottom</label>
|
||||||
|
<default>0</default>
|
||||||
|
</entry>
|
||||||
|
|
||||||
|
<entry name="dockSurfacesConfig" type="String">
|
||||||
|
<label>Dock settings change the default parameters for the surface</label>
|
||||||
|
<default></default>
|
||||||
|
</entry>
|
||||||
|
|
||||||
|
<entry name="dockWindowClassConfig" type="String">
|
||||||
|
<label>Dock default settings for WindowClass which with high priority.</label>
|
||||||
|
<default></default>
|
||||||
|
</entry>
|
||||||
|
|
||||||
|
<entry name="tileLayoutOrder" type="Int">
|
||||||
|
<label> Tile layout order</label>
|
||||||
|
<default>1</default>
|
||||||
|
</entry>
|
||||||
|
|
||||||
|
<entry name="tileLayoutInitialRotationAngle" type="String">
|
||||||
|
<label>Tile layout initial rotation angle</label>
|
||||||
|
<default>0</default>
|
||||||
|
</entry>
|
||||||
|
<entry name="monocleLayoutOrder" type="Int">
|
||||||
|
<label> Monocle layout order</label>
|
||||||
|
<default>2</default>
|
||||||
|
</entry>
|
||||||
|
|
||||||
|
<entry name="threeColumnLayoutOrder" type="Int">
|
||||||
|
<label> Three Column layout order</label>
|
||||||
|
<default>3</default>
|
||||||
|
</entry>
|
||||||
|
|
||||||
|
<entry name="spiralLayoutOrder" type="Int">
|
||||||
|
<label> Spiral layout order</label>
|
||||||
|
<default>4</default>
|
||||||
|
</entry>
|
||||||
|
|
||||||
|
<entry name="quarterLayoutOrder" type="Int">
|
||||||
|
<label> Quarter layout order</label>
|
||||||
|
<default>5</default>
|
||||||
|
</entry>
|
||||||
|
<entry name="quarterLayoutReset" type="Bool">
|
||||||
|
<label>Reset Quarter layout after closing a window</label>
|
||||||
|
<default>false</default>
|
||||||
|
</entry>
|
||||||
|
|
||||||
|
<entry name="stackedLayoutOrder" type="Int">
|
||||||
|
<label> Stacked layout order</label>
|
||||||
|
<default>6</default>
|
||||||
|
</entry>
|
||||||
|
|
||||||
|
<entry name="columnsLayoutOrder" type="Int">
|
||||||
|
<label> Columns layout order</label>
|
||||||
|
<default>7</default>
|
||||||
|
</entry>
|
||||||
|
<entry name="enableColumnsLayout" type="Bool">
|
||||||
|
<label>Enable/disable Columns layout</label>
|
||||||
|
<default>true</default>
|
||||||
|
</entry>
|
||||||
|
<entry name="columnsLayoutInitialRotationAngle" type="String">
|
||||||
|
<label>Columns layout initial rotation angle</label>
|
||||||
|
<default>0</default>
|
||||||
|
</entry>
|
||||||
|
<entry name="columnsBalanced" type="Bool">
|
||||||
|
<label>Enable/disable creating a new window in the shortest column</label>
|
||||||
|
<default>false</default>
|
||||||
|
</entry>
|
||||||
|
<entry name="columnsLayerConf" type="String">
|
||||||
|
<label>Columns layout default configuration.</label>
|
||||||
|
<default></default>
|
||||||
|
</entry>
|
||||||
|
|
||||||
|
<entry name="spreadLayoutOrder" type="Int">
|
||||||
|
<label> Spread layout order</label>
|
||||||
|
<default>8</default>
|
||||||
|
</entry>
|
||||||
|
|
||||||
|
<entry name="floatingLayoutOrder" type="Int">
|
||||||
|
<label> Floating layout order</label>
|
||||||
|
<default>9</default>
|
||||||
|
</entry>
|
||||||
|
|
||||||
|
<entry name="stairLayoutOrder" type="Int">
|
||||||
|
<label> Stair layout order</label>
|
||||||
|
<default>10</default>
|
||||||
|
</entry>
|
||||||
|
<entry name="stairReverse" type="Bool">
|
||||||
|
<label>Reverse the stair layout's orientation</label>
|
||||||
|
<default>false</default>
|
||||||
|
</entry>
|
||||||
|
|
||||||
|
<entry name="binaryTreeLayoutOrder" type="Int">
|
||||||
|
<label> BTree layout order</label>
|
||||||
|
<default>11</default>
|
||||||
|
</entry>
|
||||||
|
|
||||||
|
<entry name="cascadeLayoutOrder" type="Int">
|
||||||
|
<label> Cascade layout order</label>
|
||||||
|
<default>12</default>
|
||||||
|
</entry>
|
||||||
|
|
||||||
|
<entry name="ignoreActivity" type="String">
|
||||||
|
<label>Do not apply tiling on some activities(comma-separated list of activity names)</label>
|
||||||
|
<default></default>
|
||||||
|
</entry>
|
||||||
|
|
||||||
|
<entry name="ignoreClass" type="String">
|
||||||
|
<label>Ignore windows with certain classes(comma-separated list)</label>
|
||||||
|
<default>krunner,yakuake,spectacle,kded5,xwaylandvideobridge,plasmashell,ksplashqml,org.kde.plasmashell,org.kde.polkit-kde-authentication-agent-1,org.kde.kruler,kruler,kwin_wayland,ksmserver-logout-greeter</default>
|
||||||
|
</entry>
|
||||||
|
|
||||||
|
<entry name="ignoreRole" type="String">
|
||||||
|
<label>Ignore windows with specific role(comma-separated list)</label>
|
||||||
|
<default>quake</default>
|
||||||
|
</entry>
|
||||||
|
|
||||||
|
<entry name="ignoreScreen" type="String">
|
||||||
|
<label>Do not apply tiling on some screens(comma-separated list of screen names)</label>
|
||||||
|
<default></default>
|
||||||
|
</entry>
|
||||||
|
|
||||||
|
<entry name="ignoreVDesktop" type="String">
|
||||||
|
<label>Do not apply tiling on some virtual desktops(comma-separated list of virtual desktops names)</label>
|
||||||
|
<default></default>
|
||||||
|
</entry>
|
||||||
|
|
||||||
|
<entry name="ignoreTitle" type="String">
|
||||||
|
<label>Ignore windows with certain string in title(comma-separated list)</label>
|
||||||
|
<default></default>
|
||||||
|
</entry>
|
||||||
|
|
||||||
|
<entry name="screenDefaultLayout" type="String">
|
||||||
|
<label>Assigning number of layout to screen(output) by default</label>
|
||||||
|
<default></default>
|
||||||
|
</entry>
|
||||||
|
|
||||||
|
<entry name="tileNothing" type="Bool">
|
||||||
|
<label>Don't tile any windows by default</label>
|
||||||
|
<default>false</default>
|
||||||
|
</entry>
|
||||||
|
|
||||||
|
<entry name="tilingClass" type="String">
|
||||||
|
<label>Tile windows with certain classes(comma-separated list)</label>
|
||||||
|
<default></default>
|
||||||
|
</entry>
|
||||||
|
|
||||||
|
<entry name="floatingClass" type="String">
|
||||||
|
<label>Float windows with certain classes(comma-separated list)</label>
|
||||||
|
<default></default>
|
||||||
|
</entry>
|
||||||
|
|
||||||
|
<entry name="floatingTitle" type="String">
|
||||||
|
<label>Float windows with certain string in title(comma-separated list)</label>
|
||||||
|
<default></default>
|
||||||
|
</entry>
|
||||||
|
|
||||||
|
<entry name="floatUtility" type="Bool">
|
||||||
|
<label>Automatically float utility windows (Dialog, Splash, Utility)</label>
|
||||||
|
<default>true</default>
|
||||||
|
</entry>
|
||||||
|
|
||||||
|
<entry name="layoutPerActivity" type="Bool">
|
||||||
|
<label>Use separate layouts per activity.</label>
|
||||||
|
<default>true</default>
|
||||||
|
</entry>
|
||||||
|
|
||||||
|
<entry name="layoutPerDesktop" type="Bool">
|
||||||
|
<label>Use separate layouts per desktop.</label>
|
||||||
|
<default>true</default>
|
||||||
|
</entry>
|
||||||
|
|
||||||
|
<entry name="tiledWindowsLayer" type="Int">
|
||||||
|
<label>What layer will have tiled windows</label>
|
||||||
|
<default>0</default>
|
||||||
|
</entry>
|
||||||
|
|
||||||
|
<entry name="floatedWindowsLayer" type="Int">
|
||||||
|
<label>What layer will have floated windows</label>
|
||||||
|
<default>1</default>
|
||||||
|
</entry>
|
||||||
|
|
||||||
|
<entry name="soleWindowWidth" type="Int">
|
||||||
|
<label>The sole window width in percent.</label>
|
||||||
|
<default>100</default>
|
||||||
|
</entry>
|
||||||
|
|
||||||
|
<entry name="soleWindowHeight" type="Int">
|
||||||
|
<label>The sole window height in percent.</label>
|
||||||
|
<default>100</default>
|
||||||
|
</entry>
|
||||||
|
|
||||||
|
<entry name="soleWindowNoBorders" type="Bool">
|
||||||
|
<label>Do not draw borders around sole window</label>
|
||||||
|
<default>false</default>
|
||||||
|
</entry>
|
||||||
|
|
||||||
|
<entry name="soleWindowNoGaps" type="Bool">
|
||||||
|
<label>Do not draw gaps around sole window</label>
|
||||||
|
<default>false</default>
|
||||||
|
</entry>
|
||||||
|
|
||||||
|
<entry name="monocleMaximize" type="Bool">
|
||||||
|
<label>Always maximize windows in Monocle layout</label>
|
||||||
|
<default>true</default>
|
||||||
|
</entry>
|
||||||
|
|
||||||
|
<entry name="monocleMinimizeRest" type="Bool">
|
||||||
|
<label>Minimize other tiles than the current one in Monocle layout</label>
|
||||||
|
<default>false</default>
|
||||||
|
</entry>
|
||||||
|
|
||||||
|
<entry name="adjustLayout" type="Bool">
|
||||||
|
<label>Adjust layout with mouse</label>
|
||||||
|
<default>true</default>
|
||||||
|
</entry>
|
||||||
|
|
||||||
|
<entry name="adjustLayoutLive" type="Bool">
|
||||||
|
<label>Adjust as window is being resized</label>
|
||||||
|
<default>true</default>
|
||||||
|
</entry>
|
||||||
|
|
||||||
|
<entry name="keepTilingOnDrag" type="Bool">
|
||||||
|
<label>Always preserve the tiling status of a window upon dragging</label>
|
||||||
|
<default>true</default>
|
||||||
|
</entry>
|
||||||
|
|
||||||
|
<entry name="noTileBorder" type="Bool">
|
||||||
|
<label>Remove borders of tiled windows</label>
|
||||||
|
<default>false</default>
|
||||||
|
</entry>
|
||||||
|
|
||||||
|
<entry name="preventMinimize" type="Bool">
|
||||||
|
<label>Prevent windows from minimizing</label>
|
||||||
|
<default>false</default>
|
||||||
|
</entry>
|
||||||
|
|
||||||
|
<entry name="preventProtrusion" type="Bool">
|
||||||
|
<label>Prevent windows from protruding out of screen</label>
|
||||||
|
<default>true</default>
|
||||||
|
</entry>
|
||||||
|
|
||||||
|
<entry name="notificationDuration" type="Int">
|
||||||
|
<label>Duration of pop-up notifications</label>
|
||||||
|
<default>1000</default>
|
||||||
|
</entry>
|
||||||
|
|
||||||
|
<entry name="screenGapLeft" type="Int">
|
||||||
|
<label>Gap between tiles and screen borders (Left)</label>
|
||||||
|
<default>0</default>
|
||||||
|
</entry>
|
||||||
|
|
||||||
|
<entry name="screenGapRight" type="Int">
|
||||||
|
<label>Gap between tiles and screen borders (Right)</label>
|
||||||
|
<default>0</default>
|
||||||
|
</entry>
|
||||||
|
|
||||||
|
<entry name="screenGapTop" type="Int">
|
||||||
|
<label>Gap between tiles and screen borders (Top)</label>
|
||||||
|
<default>0</default>
|
||||||
|
</entry>
|
||||||
|
|
||||||
|
<entry name="screenGapBottom" type="Int">
|
||||||
|
<label>Gap between tiles and screen borders (Bottom)</label>
|
||||||
|
<default>0</default>
|
||||||
|
</entry>
|
||||||
|
|
||||||
|
<entry name="screenGapBetween" type="Int">
|
||||||
|
<label>Gap between tiles in Tile layout</label>
|
||||||
|
<default>0</default>
|
||||||
|
</entry>
|
||||||
|
|
||||||
|
<entry name="gapsOverrideConfig" type="String">
|
||||||
|
<label>Override default screen gaps</label>
|
||||||
|
<default></default>
|
||||||
|
</entry>
|
||||||
|
|
||||||
|
<entry name="floatSkipPagerWindows" type="Bool">
|
||||||
|
<label>Make the window float if its property: skipPager=true (HACK)</label>
|
||||||
|
<default>false</default>
|
||||||
|
</entry>
|
||||||
|
|
||||||
|
<entry name="directionalKeyDwm" type="Bool">
|
||||||
|
<label>Up, Down, Left, and Right shortcut behaves like dwm</label>
|
||||||
|
<default>false</default>
|
||||||
|
</entry>
|
||||||
|
|
||||||
|
<entry name="directionalKeyFocus" type="Bool">
|
||||||
|
<label>Up, Down, Left, and Right shortcut moves focus</label>
|
||||||
|
<default>true</default>
|
||||||
|
</entry>
|
||||||
|
|
||||||
|
<entry name="limitTileWidth" type="Bool">
|
||||||
|
<label>Limit the width of tiles</label>
|
||||||
|
<default>false</default>
|
||||||
|
</entry>
|
||||||
|
|
||||||
|
<entry name="limitTileWidthRatio" type="Double">
|
||||||
|
<label>Ratio of maximum tile width to the height of screen</label>
|
||||||
|
<default>1.6</default>
|
||||||
|
</entry>
|
||||||
|
|
||||||
|
<entry name="newWindowPosition" type="Int">
|
||||||
|
<label>The position every new window in the screen window array</label>
|
||||||
|
<default>0</default>
|
||||||
|
</entry>
|
||||||
|
|
||||||
|
<entry name="logging" type="Bool">
|
||||||
|
<label>Enable logging</label>
|
||||||
|
<default>false</default>
|
||||||
|
</entry>
|
||||||
|
|
||||||
|
<entry name="logNewWindows" type="Bool">
|
||||||
|
<label>Log new windows</label>
|
||||||
|
<default>false</default>
|
||||||
|
</entry>
|
||||||
|
|
||||||
|
<entry name="logFilteredWindows" type="Bool">
|
||||||
|
<label>Log filtered windows</label>
|
||||||
|
<default>false</default>
|
||||||
|
</entry>
|
||||||
|
|
||||||
|
<entry name="logUnmanagedWindows" type="Bool">
|
||||||
|
<label>Log unmanaged windows</label>
|
||||||
|
<default>false</default>
|
||||||
|
</entry>
|
||||||
|
|
||||||
|
<entry name="logWorkspaceSignals" type="Bool">
|
||||||
|
<label>Log signals from workspace</label>
|
||||||
|
<default>false</default>
|
||||||
|
</entry>
|
||||||
|
<entry name="logWorkspaceSignalsSubmodules" type="String">
|
||||||
|
<label>Specify a comma separated list of numbers workspace signals submodules</label>
|
||||||
|
<default></default>
|
||||||
|
</entry>
|
||||||
|
|
||||||
|
<entry name="logWindowSignals" type="Bool">
|
||||||
|
<label>Log signals from windows</label>
|
||||||
|
<default>false</default>
|
||||||
|
</entry>
|
||||||
|
<entry name="logWindowSignalsSubmodules" type="String">
|
||||||
|
<label>Specify a comma separated list of numbers window signals submodules</label>
|
||||||
|
<default></default>
|
||||||
|
</entry>
|
||||||
|
|
||||||
|
<entry name="logOther" type="Bool">
|
||||||
|
<label>Log all other modules</label>
|
||||||
|
<default>false</default>
|
||||||
|
</entry>
|
||||||
|
<entry name="logOtherSubmodules" type="String">
|
||||||
|
<label>Specify a comma separated list of numbers all other submodules</label>
|
||||||
|
<default></default>
|
||||||
|
</entry>
|
||||||
|
|
||||||
|
<entry name="logFilter" type="Bool">
|
||||||
|
<label>Enable log filters</label>
|
||||||
|
<default>false</default>
|
||||||
|
</entry>
|
||||||
|
<entry name="logFilterStr" type="String">
|
||||||
|
<label>Specify a comma separated list of filters</label>
|
||||||
|
<default></default>
|
||||||
|
</entry>
|
||||||
|
</group>
|
||||||
|
</kcfg>
|
||||||
Binary file not shown.
Binary file not shown.
4143
eggs/kde_locals/kwin/scripts/krohnkite/contents/ui/config.ui
Normal file
4143
eggs/kde_locals/kwin/scripts/krohnkite/contents/ui/config.ui
Normal file
File diff suppressed because it is too large
Load Diff
62
eggs/kde_locals/kwin/scripts/krohnkite/contents/ui/main.qml
Normal file
62
eggs/kde_locals/kwin/scripts/krohnkite/contents/ui/main.qml
Normal file
@ -0,0 +1,62 @@
|
|||||||
|
// Copyright (c) 2018 Eon S. Jeon <esjeon@hyunmu.am>
|
||||||
|
//
|
||||||
|
// Permission is hereby granted, free of charge, to any person obtaining a
|
||||||
|
// copy of this software and associated documentation files (the "Software"),
|
||||||
|
// to deal in the Software without restriction, including without limitation
|
||||||
|
// the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
||||||
|
// and/or sell copies of the Software, and to permit persons to whom the
|
||||||
|
// Software is furnished to do so, subject to the following conditions:
|
||||||
|
//
|
||||||
|
// The above copyright notice and this permission notice shall be included in
|
||||||
|
// all copies or substantial portions of the Software.
|
||||||
|
//
|
||||||
|
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
||||||
|
// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||||
|
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
||||||
|
// DEALINGS IN THE SOFTWARE.
|
||||||
|
|
||||||
|
import QtQuick 2.15
|
||||||
|
import org.kde.plasma.core as PlasmaCore;
|
||||||
|
import org.kde.plasma.components as Plasma;
|
||||||
|
import org.kde.plasma.plasma5support as Plasma5Support
|
||||||
|
import org.kde.kwin 3.0;
|
||||||
|
import org.kde.taskmanager as TaskManager
|
||||||
|
import "../code/script.js" as K
|
||||||
|
|
||||||
|
Item {
|
||||||
|
id: scriptRoot
|
||||||
|
|
||||||
|
TaskManager.ActivityInfo {
|
||||||
|
id: activityInfo
|
||||||
|
}
|
||||||
|
|
||||||
|
Loader {
|
||||||
|
id: popupDialog
|
||||||
|
source: "popup.qml"
|
||||||
|
|
||||||
|
function show(text, duration) {
|
||||||
|
var area = Workspace.clientArea(KWin.FullScreenArea, Workspace.activeScreen, Workspace.currentDesktop);
|
||||||
|
this.item.show(text, area, duration);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Component.onCompleted: {
|
||||||
|
console.log("KROHNKITE: starting the script");
|
||||||
|
const api = {
|
||||||
|
"workspace": Workspace,
|
||||||
|
// "options": Options,
|
||||||
|
"kwin": KWin,
|
||||||
|
"shortcuts": shortcutsLoader.item
|
||||||
|
};
|
||||||
|
|
||||||
|
(new K.KWinDriver(api)).main();
|
||||||
|
}
|
||||||
|
Loader {
|
||||||
|
id: shortcutsLoader;
|
||||||
|
|
||||||
|
source: "shortcuts.qml";
|
||||||
|
}
|
||||||
|
}
|
||||||
78
eggs/kde_locals/kwin/scripts/krohnkite/contents/ui/popup.qml
Normal file
78
eggs/kde_locals/kwin/scripts/krohnkite/contents/ui/popup.qml
Normal file
@ -0,0 +1,78 @@
|
|||||||
|
// Copyright (c) 2018 Eon S. Jeon <esjeon@hyunmu.am>
|
||||||
|
//
|
||||||
|
// Permission is hereby granted, free of charge, to any person obtaining a
|
||||||
|
// copy of this software and associated documentation files (the "Software"),
|
||||||
|
// to deal in the Software without restriction, including without limitation
|
||||||
|
// the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
||||||
|
// and/or sell copies of the Software, and to permit persons to whom the
|
||||||
|
// Software is furnished to do so, subject to the following conditions:
|
||||||
|
//
|
||||||
|
// The above copyright notice and this permission notice shall be included in
|
||||||
|
// all copies or substantial portions of the Software.
|
||||||
|
//
|
||||||
|
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
||||||
|
// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||||
|
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
||||||
|
// DEALINGS IN THE SOFTWARE.
|
||||||
|
|
||||||
|
import QtQuick 2.15
|
||||||
|
import QtQuick.Controls 2.15
|
||||||
|
import org.kde.plasma.core as PlasmaCore;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Component Documentation
|
||||||
|
* - PlasmaCore global `theme` object:
|
||||||
|
* https://techbase.kde.org/Development/Tutorials/Plasma2/QML2/API#Plasma_Themes
|
||||||
|
* - PlasmaCore.Dialog:
|
||||||
|
* https://techbase.kde.org/Development/Tutorials/Plasma2/QML2/API#Top_Level_windows
|
||||||
|
*/
|
||||||
|
|
||||||
|
PlasmaCore.Dialog {
|
||||||
|
id: popupDialog
|
||||||
|
type: PlasmaCore.Dialog.OnScreenDisplay
|
||||||
|
flags: Qt.Popup | Qt.WindowStaysOnTopHint
|
||||||
|
location: PlasmaCore.Types.Floating
|
||||||
|
outputOnly: true
|
||||||
|
|
||||||
|
visible: false
|
||||||
|
|
||||||
|
mainItem: Item {
|
||||||
|
width: messageLabel.implicitWidth
|
||||||
|
height: messageLabel.implicitHeight
|
||||||
|
|
||||||
|
Label {
|
||||||
|
id: messageLabel
|
||||||
|
padding: 10
|
||||||
|
|
||||||
|
font.pointSize: Math.round(10)
|
||||||
|
font.weight: Font.Bold
|
||||||
|
}
|
||||||
|
|
||||||
|
/* hides the popup window when triggered */
|
||||||
|
Timer {
|
||||||
|
id: hideTimer
|
||||||
|
repeat: false
|
||||||
|
|
||||||
|
onTriggered: {
|
||||||
|
popupDialog.visible = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function show(text, area, duration) {
|
||||||
|
hideTimer.stop();
|
||||||
|
|
||||||
|
messageLabel.text = text;
|
||||||
|
|
||||||
|
this.x = (area.x + area.width / 2) - this.width / 2;
|
||||||
|
this.y = (area.y + area.height / 2) - this.height / 2;
|
||||||
|
this.visible = true;
|
||||||
|
|
||||||
|
hideTimer.interval = duration;
|
||||||
|
hideTimer.start();
|
||||||
|
}
|
||||||
|
}
|
||||||
358
eggs/kde_locals/kwin/scripts/krohnkite/contents/ui/shortcuts.qml
Normal file
358
eggs/kde_locals/kwin/scripts/krohnkite/contents/ui/shortcuts.qml
Normal file
@ -0,0 +1,358 @@
|
|||||||
|
import QtQuick;
|
||||||
|
import org.kde.kwin;
|
||||||
|
|
||||||
|
Item {
|
||||||
|
id: dbus;
|
||||||
|
function getToggleDock() {
|
||||||
|
return toggleDock;
|
||||||
|
}
|
||||||
|
ShortcutHandler {
|
||||||
|
id: toggleDock;
|
||||||
|
|
||||||
|
name: "KrohnkitetoggleDock";
|
||||||
|
text: "Krohnkite: Toggle Dock";
|
||||||
|
sequence: "";
|
||||||
|
}
|
||||||
|
|
||||||
|
function getFocusNext() {
|
||||||
|
return focusNext;
|
||||||
|
}
|
||||||
|
ShortcutHandler {
|
||||||
|
id: focusNext;
|
||||||
|
|
||||||
|
name: "KrohnkiteFocusNext";
|
||||||
|
text: "Krohnkite: Focus Next";
|
||||||
|
sequence: "Meta+.";
|
||||||
|
}
|
||||||
|
function getFocusPrev() {
|
||||||
|
return focusPrev;
|
||||||
|
}
|
||||||
|
ShortcutHandler {
|
||||||
|
id: focusPrev;
|
||||||
|
|
||||||
|
name: "KrohnkiteFocusPrev";
|
||||||
|
text: "Krohnkite: Focus Previous";
|
||||||
|
sequence: "Meta+,";
|
||||||
|
}
|
||||||
|
|
||||||
|
function getFocusDown() {
|
||||||
|
return focusDown;
|
||||||
|
}
|
||||||
|
ShortcutHandler {
|
||||||
|
id: focusDown;
|
||||||
|
|
||||||
|
name: "KrohnkiteFocusDown";
|
||||||
|
text: "Krohnkite: Focus Down";
|
||||||
|
sequence: "Meta+J";
|
||||||
|
}
|
||||||
|
function getFocusUp() {
|
||||||
|
return focusUp;
|
||||||
|
}
|
||||||
|
ShortcutHandler {
|
||||||
|
id: focusUp;
|
||||||
|
|
||||||
|
name: "KrohnkiteFocusUp";
|
||||||
|
text: "Krohnkite: Focus Up";
|
||||||
|
sequence: "Meta+K";
|
||||||
|
}
|
||||||
|
function getFocusLeft() {
|
||||||
|
return focusLeft;
|
||||||
|
}
|
||||||
|
ShortcutHandler {
|
||||||
|
id: focusLeft;
|
||||||
|
|
||||||
|
name: "KrohnkiteFocusLeft";
|
||||||
|
text: "Krohnkite: Focus Left";
|
||||||
|
sequence: "Meta+H";
|
||||||
|
}
|
||||||
|
function getFocusRight() {
|
||||||
|
return focusRight;
|
||||||
|
}
|
||||||
|
ShortcutHandler {
|
||||||
|
id: focusRight;
|
||||||
|
|
||||||
|
name: "KrohnkiteFocusRight";
|
||||||
|
text: "Krohnkite: Focus Right";
|
||||||
|
sequence: "Meta+L";
|
||||||
|
}
|
||||||
|
function getShiftDown() {
|
||||||
|
return shiftDown;
|
||||||
|
}
|
||||||
|
ShortcutHandler {
|
||||||
|
id: shiftDown;
|
||||||
|
|
||||||
|
name: "KrohnkiteShiftDown";
|
||||||
|
text: "Krohnkite: Move Down/Next";
|
||||||
|
sequence: "Meta+Shift+J";
|
||||||
|
}
|
||||||
|
function getShiftUp() {
|
||||||
|
return shiftUp;
|
||||||
|
}
|
||||||
|
ShortcutHandler {
|
||||||
|
id: shiftUp;
|
||||||
|
|
||||||
|
name: "KrohnkiteShiftUp";
|
||||||
|
text: "Krohnkite: Move Up/Prev";
|
||||||
|
sequence: "Meta+Shift+K";
|
||||||
|
}
|
||||||
|
function getShiftLeft() {
|
||||||
|
return shiftLeft;
|
||||||
|
}
|
||||||
|
ShortcutHandler {
|
||||||
|
id: shiftLeft;
|
||||||
|
|
||||||
|
name: "KrohnkiteShiftLeft";
|
||||||
|
text: "Krohnkite: Move Left";
|
||||||
|
sequence: "Meta+Shift+H";
|
||||||
|
}
|
||||||
|
function getShiftRight() {
|
||||||
|
return shiftRight;
|
||||||
|
}
|
||||||
|
ShortcutHandler {
|
||||||
|
id: shiftRight;
|
||||||
|
|
||||||
|
name: "KrohnkiteShiftRight";
|
||||||
|
text: "Krohnkite: Move Right";
|
||||||
|
sequence: "Meta+Shift+L";
|
||||||
|
}
|
||||||
|
function getGrowHeight() {
|
||||||
|
return growHeight;
|
||||||
|
}
|
||||||
|
ShortcutHandler {
|
||||||
|
id: growHeight;
|
||||||
|
|
||||||
|
name: "KrohnkiteGrowHeight";
|
||||||
|
text: "Krohnkite: Grow Height";
|
||||||
|
sequence: "Meta+Ctrl+J";
|
||||||
|
}
|
||||||
|
function getShrinkHeight() {
|
||||||
|
return shrinkHeight;
|
||||||
|
}
|
||||||
|
ShortcutHandler {
|
||||||
|
id: shrinkHeight;
|
||||||
|
|
||||||
|
name: "KrohnkiteShrinkHeight";
|
||||||
|
text: "Krohnkite: Shrink Height";
|
||||||
|
sequence: "Meta+Ctrl+K";
|
||||||
|
}
|
||||||
|
function getShrinkWidth() {
|
||||||
|
return shrinkWidth;
|
||||||
|
}
|
||||||
|
ShortcutHandler {
|
||||||
|
id: shrinkWidth;
|
||||||
|
|
||||||
|
name: "KrohnkiteShrinkWidth";
|
||||||
|
text: "Krohnkite: Shrink Width";
|
||||||
|
sequence: "Meta+Ctrl+H";
|
||||||
|
}
|
||||||
|
function getGrowWidth() {
|
||||||
|
return growWidth;
|
||||||
|
}
|
||||||
|
ShortcutHandler {
|
||||||
|
id: growWidth;
|
||||||
|
|
||||||
|
name: "KrohnkitegrowWidth";
|
||||||
|
text: "Krohnkite: Grow Width";
|
||||||
|
sequence: "Meta+Ctrl+L";
|
||||||
|
}
|
||||||
|
function getIncrease() {
|
||||||
|
return increase;
|
||||||
|
}
|
||||||
|
ShortcutHandler {
|
||||||
|
id: increase;
|
||||||
|
|
||||||
|
name: "KrohnkiteIncrease";
|
||||||
|
text: "Krohnkite: Increase";
|
||||||
|
sequence: "Meta+I";
|
||||||
|
}
|
||||||
|
function getDecrease() {
|
||||||
|
return decrease;
|
||||||
|
}
|
||||||
|
ShortcutHandler {
|
||||||
|
id: decrease;
|
||||||
|
|
||||||
|
name: "KrohnkiteDecrease";
|
||||||
|
text: "Krohnkite: Decrease";
|
||||||
|
sequence: "Meta+D";
|
||||||
|
}
|
||||||
|
function getToggleFloat() {
|
||||||
|
return toggleFloat;
|
||||||
|
}
|
||||||
|
ShortcutHandler {
|
||||||
|
id: toggleFloat;
|
||||||
|
|
||||||
|
name: "KrohnkiteToggleFloat";
|
||||||
|
text: "Krohnkite: Toggle Float";
|
||||||
|
sequence: "Meta+F";
|
||||||
|
}
|
||||||
|
function getFloatAll() {
|
||||||
|
return floatAll;
|
||||||
|
}
|
||||||
|
ShortcutHandler {
|
||||||
|
id: floatAll;
|
||||||
|
|
||||||
|
name: "KrohnkiteFloatAll";
|
||||||
|
text: "Krohnkite: Toggle Float All";
|
||||||
|
sequence: "Meta+Shift+F";
|
||||||
|
}
|
||||||
|
function getNextLayout() {
|
||||||
|
return nextLayout;
|
||||||
|
}
|
||||||
|
ShortcutHandler {
|
||||||
|
id: nextLayout;
|
||||||
|
|
||||||
|
name: "KrohnkiteNextLayout";
|
||||||
|
text: "Krohnkite: Next Layout";
|
||||||
|
sequence: "Meta+\\";
|
||||||
|
}
|
||||||
|
function getPreviousLayout() {
|
||||||
|
return previousLayout;
|
||||||
|
}
|
||||||
|
ShortcutHandler {
|
||||||
|
id: previousLayout;
|
||||||
|
|
||||||
|
name: "KrohnkitePreviousLayout";
|
||||||
|
text: "Krohnkite: Previous Layout";
|
||||||
|
sequence: "Meta+|";
|
||||||
|
}
|
||||||
|
function getRotate() {
|
||||||
|
return rotate;
|
||||||
|
}
|
||||||
|
ShortcutHandler {
|
||||||
|
id: rotate;
|
||||||
|
|
||||||
|
name: "KrohnkiteRotate";
|
||||||
|
text: "Krohnkite: Rotate";
|
||||||
|
sequence: "Meta+R";
|
||||||
|
}
|
||||||
|
function getRotatePart() {
|
||||||
|
return rotatePart;
|
||||||
|
}
|
||||||
|
ShortcutHandler {
|
||||||
|
id: rotatePart;
|
||||||
|
|
||||||
|
name: "KrohnkiteRotatePart";
|
||||||
|
text: "Krohnkite: Rotate Part";
|
||||||
|
sequence: "Meta+Shift+R";
|
||||||
|
}
|
||||||
|
function getSetMaster() {
|
||||||
|
return setMaster;
|
||||||
|
}
|
||||||
|
ShortcutHandler {
|
||||||
|
id: setMaster;
|
||||||
|
|
||||||
|
name: "KrohnkiteSetMaster";
|
||||||
|
text: "Krohnkite: Set master";
|
||||||
|
sequence: "Meta+Return";
|
||||||
|
}
|
||||||
|
function getTileLayout() {
|
||||||
|
return tileLayout;
|
||||||
|
}
|
||||||
|
ShortcutHandler {
|
||||||
|
id: tileLayout;
|
||||||
|
|
||||||
|
name: "KrohnkiteTileLayout";
|
||||||
|
text: "Krohnkite: Tile Layout";
|
||||||
|
sequence: "Meta+T";
|
||||||
|
}
|
||||||
|
function getMonocleLayout() {
|
||||||
|
return monocleLayout;
|
||||||
|
}
|
||||||
|
ShortcutHandler {
|
||||||
|
id: monocleLayout;
|
||||||
|
|
||||||
|
name: "KrohnkiteMonocleLayout";
|
||||||
|
text: "Krohnkite: Monocle Layout";
|
||||||
|
sequence: "Meta+M";
|
||||||
|
}
|
||||||
|
function getThreeColumnLayout() {
|
||||||
|
return treeColumnLayout;
|
||||||
|
}
|
||||||
|
ShortcutHandler {
|
||||||
|
id: treeColumnLayout;
|
||||||
|
|
||||||
|
name: "KrohnkiteTreeColumnLayout";
|
||||||
|
text: "Krohnkite: Three Column Layout";
|
||||||
|
sequence: "";
|
||||||
|
}
|
||||||
|
function getSpreadLayout() {
|
||||||
|
return spreadLayout;
|
||||||
|
}
|
||||||
|
ShortcutHandler {
|
||||||
|
id: spreadLayout;
|
||||||
|
|
||||||
|
name: "KrohnkiteSpreadLayout";
|
||||||
|
text: "Krohnkite: Spread Layout";
|
||||||
|
sequence: "";
|
||||||
|
}
|
||||||
|
function getStairLayout() {
|
||||||
|
return stairLayout;
|
||||||
|
}
|
||||||
|
ShortcutHandler {
|
||||||
|
id: stairLayout;
|
||||||
|
|
||||||
|
name: "KrohnkiteStairLayout";
|
||||||
|
text: "Krohnkite: Stair Layout";
|
||||||
|
sequence: "";
|
||||||
|
}
|
||||||
|
function getFloatingLayout() {
|
||||||
|
return floatingLayout;
|
||||||
|
}
|
||||||
|
ShortcutHandler {
|
||||||
|
id: floatingLayout;
|
||||||
|
|
||||||
|
name: "KrohnkiteFloatingLayout";
|
||||||
|
text: "Krohnkite: Floating Layout";
|
||||||
|
sequence: "";
|
||||||
|
}
|
||||||
|
function getQuarterLayout() {
|
||||||
|
return quarterLayout;
|
||||||
|
}
|
||||||
|
ShortcutHandler {
|
||||||
|
id: quarterLayout;
|
||||||
|
|
||||||
|
name: "KrohnkiteQuarterLayout";
|
||||||
|
text: "Krohnkite: Quarter Layout";
|
||||||
|
sequence: "";
|
||||||
|
}
|
||||||
|
function getStackedLayout() {
|
||||||
|
return stackedLayout;
|
||||||
|
}
|
||||||
|
ShortcutHandler {
|
||||||
|
id: stackedLayout;
|
||||||
|
|
||||||
|
name: "KrohnkiteStackedLayout";
|
||||||
|
text: "Krohnkite: Stacked Layout";
|
||||||
|
sequence: "";
|
||||||
|
}
|
||||||
|
function getBTreeLayout() {
|
||||||
|
return bTreeLayout;
|
||||||
|
}
|
||||||
|
ShortcutHandler {
|
||||||
|
id: bTreeLayout;
|
||||||
|
|
||||||
|
name: "KrohnkiteBTreeLayout";
|
||||||
|
text: "Krohnkite: BTree Layout";
|
||||||
|
sequence: "";
|
||||||
|
}
|
||||||
|
function getSpiralLayout() {
|
||||||
|
return spiralLayout;
|
||||||
|
}
|
||||||
|
ShortcutHandler {
|
||||||
|
id: spiralLayout;
|
||||||
|
|
||||||
|
name: "KrohnkiteSpiralLayout";
|
||||||
|
text: "Krohnkite: Spiral Layout";
|
||||||
|
sequence: "";
|
||||||
|
}
|
||||||
|
function getColumnsLayout() {
|
||||||
|
return columnsLayout;
|
||||||
|
}
|
||||||
|
ShortcutHandler {
|
||||||
|
id: columnsLayout;
|
||||||
|
|
||||||
|
name: "KrohnkiteColumnsLayout";
|
||||||
|
text: "Krohnkite: Columns Layout";
|
||||||
|
sequence: "";
|
||||||
|
}
|
||||||
|
}
|
||||||
24
eggs/kde_locals/kwin/scripts/krohnkite/metadata.json
Normal file
24
eggs/kde_locals/kwin/scripts/krohnkite/metadata.json
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
{
|
||||||
|
"KPackageStructure": "KWin/Script",
|
||||||
|
"KPlugin": {
|
||||||
|
"Name": "Krohnkite",
|
||||||
|
"Description": "A dynamic tiling script for KWin (1d7fd74)",
|
||||||
|
"Icon": "dialog-tile-clones",
|
||||||
|
|
||||||
|
"Authors": [
|
||||||
|
{
|
||||||
|
"Email": "esjeon@hyunmu.am",
|
||||||
|
"Name": "Eon S. Jeon"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"Id": "krohnkite",
|
||||||
|
"Version": "0.9.9.2",
|
||||||
|
"License": "MIT",
|
||||||
|
"Website": "https://github.com/anametologin/krohnkite#readme"
|
||||||
|
},
|
||||||
|
"X-Plasma-API": "declarativescript",
|
||||||
|
"X-Plasma-API-Minimum-Version": "6.0",
|
||||||
|
"X-Plasma-MainScript": "ui/main.qml",
|
||||||
|
"X-KDE-ConfigModule": "kwin/effects/configs/kcm_kwin4_genericscripted",
|
||||||
|
"X-KWin-Config-TranslationDomain": "krohnkite"
|
||||||
|
}
|
||||||
@ -116,6 +116,7 @@ TaskManager.TasksModel {
|
|||||||
fullScreenable = tasksModel.data(activeTaskIndex, TaskManager.AbstractTasksModel.IsFullScreenable) || false;
|
fullScreenable = tasksModel.data(activeTaskIndex, TaskManager.AbstractTasksModel.IsFullScreenable) || false;
|
||||||
fullScreen = tasksModel.data(activeTaskIndex, TaskManager.AbstractTasksModel.IsFullScreen) || false;
|
fullScreen = tasksModel.data(activeTaskIndex, TaskManager.AbstractTasksModel.IsFullScreen) || false;
|
||||||
resizable = tasksModel.data(activeTaskIndex, TaskManager.AbstractTasksModel.IsResizable) || false;
|
resizable = tasksModel.data(activeTaskIndex, TaskManager.AbstractTasksModel.IsResizable) || false;
|
||||||
|
excludedFromCapture = tasksModel.data(activeTaskIndex, TaskManager.AbstractTasksModel.IsExcludedFromCapture) || false;
|
||||||
active = tasksModel.data(activeTaskIndex, TaskManager.AbstractTasksModel.IsActive) || false;
|
active = tasksModel.data(activeTaskIndex, TaskManager.AbstractTasksModel.IsActive) || false;
|
||||||
appName = tasksModel.data(activeTaskIndex, TaskManager.AbstractTasksModel.AppName);
|
appName = tasksModel.data(activeTaskIndex, TaskManager.AbstractTasksModel.AppName);
|
||||||
genericAppName = tasksModel.data(activeTaskIndex, TaskManager.AbstractTasksModel.GenericAppName);
|
genericAppName = tasksModel.data(activeTaskIndex, TaskManager.AbstractTasksModel.GenericAppName);
|
||||||
@ -146,6 +147,8 @@ TaskManager.TasksModel {
|
|||||||
return tasksModel.requestToggleFullScreen(activeTaskIndex);
|
return tasksModel.requestToggleFullScreen(activeTaskIndex);
|
||||||
case ActiveWindow.Action.Resize:
|
case ActiveWindow.Action.Resize:
|
||||||
return tasksModel.requestResize(activeTaskIndex);
|
return tasksModel.requestResize(activeTaskIndex);
|
||||||
|
case ActiveWindow.Action.ExcludeFromCapture:
|
||||||
|
return tasksModel.requestToggleExcludeFromCapture(activeTaskIndex);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -23,7 +23,8 @@ QtObject {
|
|||||||
AppMenu,
|
AppMenu,
|
||||||
Activate,
|
Activate,
|
||||||
FullScreen,
|
FullScreen,
|
||||||
Resize
|
Resize,
|
||||||
|
ExcludeFromCapture
|
||||||
}
|
}
|
||||||
|
|
||||||
property bool minimizable: false
|
property bool minimizable: false
|
||||||
@ -42,6 +43,7 @@ QtObject {
|
|||||||
property bool fullScreen: false
|
property bool fullScreen: false
|
||||||
property bool resizable: false
|
property bool resizable: false
|
||||||
property bool active: false
|
property bool active: false
|
||||||
|
property bool excludedFromCapture: false
|
||||||
property var appName
|
property var appName
|
||||||
property var genericAppName
|
property var genericAppName
|
||||||
property var decoration
|
property var decoration
|
||||||
@ -84,6 +86,8 @@ QtObject {
|
|||||||
return keepBelow;
|
return keepBelow;
|
||||||
case WindowControlButton.Type.ShadeButton:
|
case WindowControlButton.Type.ShadeButton:
|
||||||
return shaded;
|
return shaded;
|
||||||
|
case WindowControlButton.Type.ExcludeFromCaptureButton:
|
||||||
|
return excludedFromCapture;
|
||||||
default:
|
default:
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -34,6 +34,20 @@ QtObject {
|
|||||||
checkable: false
|
checkable: false
|
||||||
onTriggered: tasksModel.activeWindow.actionCall(ActiveWindow.Action.Minimize)
|
onTriggered: tasksModel.activeWindow.actionCall(ActiveWindow.Action.Minimize)
|
||||||
},
|
},
|
||||||
|
PlasmaCore.Action {
|
||||||
|
text: i18n("&Move")
|
||||||
|
icon.name: "transform-move"
|
||||||
|
enabled: tasksModel.activeTask.movable
|
||||||
|
checkable: false
|
||||||
|
onTriggered: tasksModel.activeWindow.actionCall(ActiveWindow.Action.Move)
|
||||||
|
},
|
||||||
|
PlasmaCore.Action {
|
||||||
|
text: i18n("&Resize")
|
||||||
|
icon.name: "image-resize-symbolic"
|
||||||
|
enabled: tasksModel.activeTask.resizable
|
||||||
|
checkable: false
|
||||||
|
onTriggered: tasksModel.activeWindow.actionCall(ActiveWindow.Action.Resize)
|
||||||
|
},
|
||||||
PlasmaCore.Action {
|
PlasmaCore.Action {
|
||||||
text: i18n("Keep &Above Others")
|
text: i18n("Keep &Above Others")
|
||||||
checked: tasksModel.activeWindow.keepAbove
|
checked: tasksModel.activeWindow.keepAbove
|
||||||
@ -57,18 +71,11 @@ QtObject {
|
|||||||
onTriggered: tasksModel.activeWindow.actionCall(ActiveWindow.Action.FullScreen)
|
onTriggered: tasksModel.activeWindow.actionCall(ActiveWindow.Action.FullScreen)
|
||||||
},
|
},
|
||||||
PlasmaCore.Action {
|
PlasmaCore.Action {
|
||||||
text: i18n("&Move")
|
text: i18n("&Hide from Screencast")
|
||||||
icon.name: "transform-move"
|
checked: tasksModel.activeWindow.excludedFromCapture
|
||||||
enabled: tasksModel.activeTask.movable
|
icon.name: "view-private"
|
||||||
checkable: false
|
checkable: true
|
||||||
onTriggered: tasksModel.activeWindow.actionCall(ActiveWindow.Action.Move)
|
onTriggered: tasksModel.activeWindow.actionCall(ActiveWindow.Action.ExcludeFromCapture)
|
||||||
},
|
|
||||||
PlasmaCore.Action {
|
|
||||||
text: i18n("&Resize")
|
|
||||||
icon.name: "image-resize-symbolic"
|
|
||||||
enabled: tasksModel.activeTask.resizable
|
|
||||||
checkable: false
|
|
||||||
onTriggered: tasksModel.activeWindow.actionCall(ActiveWindow.Action.Resize)
|
|
||||||
},
|
},
|
||||||
PlasmaCore.Action {
|
PlasmaCore.Action {
|
||||||
text: i18n("&Close")
|
text: i18n("&Close")
|
||||||
|
|||||||
@ -119,7 +119,7 @@ Item {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function updateQdbusCommandName() {
|
function updateQdbusCommandName() {
|
||||||
updateCommandName(["/usr/lib/qt6/bin/qdbus", "qdbus", "qdbus6", "qdbus-qt6"], function (commandName) {
|
updateCommandName(["qdbus", "qdbus6", "qdbus-qt6", "/usr/lib/qt6/bin/qdbus"], function (commandName) {
|
||||||
qdbusCommandName = commandName;
|
qdbusCommandName = commandName;
|
||||||
qdbusCommandNameChanged();
|
qdbusCommandNameChanged();
|
||||||
});
|
});
|
||||||
|
|||||||
@ -13,6 +13,21 @@ Item {
|
|||||||
|
|
||||||
property alias model: listItemsRepeater.model
|
property alias model: listItemsRepeater.model
|
||||||
property Component sourceComponent
|
property Component sourceComponent
|
||||||
|
property bool dragActive: false
|
||||||
|
|
||||||
|
MouseArea {
|
||||||
|
id: backgroundCursorShapeMouseArea
|
||||||
|
anchors.fill: parent
|
||||||
|
enabled: false
|
||||||
|
|
||||||
|
states: State {
|
||||||
|
when: listItemsContainer.dragActive
|
||||||
|
|
||||||
|
PropertyChanges {
|
||||||
|
backgroundCursorShapeMouseArea.cursorShape: Qt.DragMoveCursor
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
RowLayout {
|
RowLayout {
|
||||||
Component {
|
Component {
|
||||||
@ -27,6 +42,7 @@ Item {
|
|||||||
drag.target: contentLoader
|
drag.target: contentLoader
|
||||||
Layout.preferredWidth: contentLoader.width
|
Layout.preferredWidth: contentLoader.width
|
||||||
Layout.preferredHeight: contentLoader.height
|
Layout.preferredHeight: contentLoader.height
|
||||||
|
cursorShape: listItemsContainer.dragActive ? backgroundCursorShapeMouseArea.cursorShape : Qt.OpenHandCursor
|
||||||
|
|
||||||
DropArea {
|
DropArea {
|
||||||
anchors.fill: parent
|
anchors.fill: parent
|
||||||
@ -47,6 +63,12 @@ Item {
|
|||||||
sourceComponent: listItemsContainer.sourceComponent
|
sourceComponent: listItemsContainer.sourceComponent
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Binding {
|
||||||
|
target: listItemsContainer
|
||||||
|
property: "dragActive"
|
||||||
|
value: dragArea.drag.active
|
||||||
|
}
|
||||||
|
|
||||||
states: State {
|
states: State {
|
||||||
when: dragArea.drag.active
|
when: dragArea.drag.active
|
||||||
|
|
||||||
|
|||||||
@ -17,12 +17,14 @@ TapHandler {
|
|||||||
property int pressedButtons: 0
|
property int pressedButtons: 0
|
||||||
interval: Qt.styleHints.mousePressAndHoldInterval
|
interval: Qt.styleHints.mousePressAndHoldInterval
|
||||||
onTriggered: function () {
|
onTriggered: function () {
|
||||||
|
longPressEventHandled = true;
|
||||||
if (pressedButtons & Qt.LeftButton && cfg.widgetMouseAreaLeftLongPressAction != "")
|
if (pressedButtons & Qt.LeftButton && cfg.widgetMouseAreaLeftLongPressAction != "")
|
||||||
invokeKWinShortcut(cfg.widgetMouseAreaLeftLongPressAction);
|
invokeKWinShortcut(cfg.widgetMouseAreaLeftLongPressAction);
|
||||||
else if (pressedButtons & Qt.MiddleButton && cfg.widgetMouseAreaMiddleLongPressAction != "")
|
else if (pressedButtons & Qt.MiddleButton && cfg.widgetMouseAreaMiddleLongPressAction != "")
|
||||||
invokeKWinShortcut(cfg.widgetMouseAreaMiddleLongPressAction);
|
invokeKWinShortcut(cfg.widgetMouseAreaMiddleLongPressAction);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
property bool longPressEventHandled: true
|
||||||
|
|
||||||
signal invokeKWinShortcut(string shortcut)
|
signal invokeKWinShortcut(string shortcut)
|
||||||
|
|
||||||
@ -31,17 +33,22 @@ TapHandler {
|
|||||||
longPressThreshold: 0
|
longPressThreshold: 0
|
||||||
exclusiveSignals: TapHandler.SingleTap | TapHandler.DoubleTap
|
exclusiveSignals: TapHandler.SingleTap | TapHandler.DoubleTap
|
||||||
onSingleTapped: function (eventPoint, button) {
|
onSingleTapped: function (eventPoint, button) {
|
||||||
|
if (!isLongPressEventHandled()) {
|
||||||
if (button === Qt.LeftButton && cfg.widgetMouseAreaLeftClickAction != "")
|
if (button === Qt.LeftButton && cfg.widgetMouseAreaLeftClickAction != "")
|
||||||
invokeKWinShortcut(cfg.widgetMouseAreaLeftClickAction);
|
invokeKWinShortcut(cfg.widgetMouseAreaLeftClickAction);
|
||||||
else if (button === Qt.MiddleButton && cfg.widgetMouseAreaMiddleClickAction != "")
|
else if (button === Qt.MiddleButton && cfg.widgetMouseAreaMiddleClickAction != "")
|
||||||
invokeKWinShortcut(cfg.widgetMouseAreaMiddleClickAction);
|
invokeKWinShortcut(cfg.widgetMouseAreaMiddleClickAction);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
onDoubleTapped: function (eventPoint, button) {
|
onDoubleTapped: function (eventPoint, button) {
|
||||||
|
if (!isLongPressEventHandled()) {
|
||||||
|
stopLongPressTimer();
|
||||||
if (button === Qt.LeftButton && cfg.widgetMouseAreaLeftDoubleClickAction != "")
|
if (button === Qt.LeftButton && cfg.widgetMouseAreaLeftDoubleClickAction != "")
|
||||||
invokeKWinShortcut(cfg.widgetMouseAreaLeftDoubleClickAction);
|
invokeKWinShortcut(cfg.widgetMouseAreaLeftDoubleClickAction);
|
||||||
else if (button === Qt.MiddleButton && cfg.widgetMouseAreaMiddleDoubleClickAction != "")
|
else if (button === Qt.MiddleButton && cfg.widgetMouseAreaMiddleDoubleClickAction != "")
|
||||||
invokeKWinShortcut(cfg.widgetMouseAreaMiddleDoubleClickAction);
|
invokeKWinShortcut(cfg.widgetMouseAreaMiddleDoubleClickAction);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
onPointChanged: function () {
|
onPointChanged: function () {
|
||||||
if (point.pressedButtons & acceptedButtons) {
|
if (point.pressedButtons & acceptedButtons) {
|
||||||
@ -53,10 +60,15 @@ TapHandler {
|
|||||||
|
|
||||||
function restartLongPressTimer(pressedButtons) {
|
function restartLongPressTimer(pressedButtons) {
|
||||||
longPressTimer.restart();
|
longPressTimer.restart();
|
||||||
|
longPressEventHandled = false;
|
||||||
longPressTimer.pressedButtons = pressedButtons;
|
longPressTimer.pressedButtons = pressedButtons;
|
||||||
}
|
}
|
||||||
|
|
||||||
function stopLongPressTimer() {
|
function stopLongPressTimer() {
|
||||||
longPressTimer.stop();
|
longPressTimer.stop();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function isLongPressEventHandled() {
|
||||||
|
return longPressEventHandled;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -22,7 +22,8 @@ Item {
|
|||||||
ShadeButton,
|
ShadeButton,
|
||||||
HelpButton,
|
HelpButton,
|
||||||
MenuButton,
|
MenuButton,
|
||||||
AppMenuButton
|
AppMenuButton,
|
||||||
|
ExcludeFromCaptureButton
|
||||||
}
|
}
|
||||||
|
|
||||||
function getAccessibleName(type) {
|
function getAccessibleName(type) {
|
||||||
@ -49,6 +50,8 @@ Item {
|
|||||||
return "Menu";
|
return "Menu";
|
||||||
case WindowControlButton.Type.AppMenuButton:
|
case WindowControlButton.Type.AppMenuButton:
|
||||||
return "Application Menu";
|
return "Application Menu";
|
||||||
|
case WindowControlButton.Type.ExcludeFromCaptureButton:
|
||||||
|
return "Hide from Screencast";
|
||||||
default:
|
default:
|
||||||
return "";
|
return "";
|
||||||
}
|
}
|
||||||
|
|||||||
@ -47,6 +47,11 @@ ComboBox {
|
|||||||
value: "windowShadeButton"
|
value: "windowShadeButton"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ListElement {
|
||||||
|
name: "Hide from Screencast button"
|
||||||
|
value: "excludeFromCaptureButton"
|
||||||
|
}
|
||||||
|
|
||||||
ListElement {
|
ListElement {
|
||||||
name: "Window title"
|
name: "Window title"
|
||||||
value: "windowTitle"
|
value: "windowTitle"
|
||||||
|
|||||||
@ -165,6 +165,22 @@ RowLayout {
|
|||||||
Layout.margins: 1
|
Layout.margins: 1
|
||||||
radius: 2
|
radius: 2
|
||||||
|
|
||||||
|
property bool dragActive: false
|
||||||
|
|
||||||
|
MouseArea {
|
||||||
|
id: cursorShapeMouseArea
|
||||||
|
anchors.fill: parent
|
||||||
|
enabled: false
|
||||||
|
|
||||||
|
states: State {
|
||||||
|
when: elementRemoveArea.dragActive
|
||||||
|
|
||||||
|
PropertyChanges {
|
||||||
|
cursorShapeMouseArea.cursorShape: Qt.DragMoveCursor
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
Kirigami.Icon {
|
Kirigami.Icon {
|
||||||
anchors.fill: parent
|
anchors.fill: parent
|
||||||
source: "delete"
|
source: "delete"
|
||||||
@ -179,11 +195,13 @@ RowLayout {
|
|||||||
anchors.margins: 5
|
anchors.margins: 5
|
||||||
onEntered: dragEvent => {
|
onEntered: dragEvent => {
|
||||||
dragSource = dragEvent.source;
|
dragSource = dragEvent.source;
|
||||||
|
elementRemoveArea.dragActive = true;
|
||||||
}
|
}
|
||||||
onExited: () => {
|
onExited: () => {
|
||||||
if (dragSource && !dragSource.pressed)
|
if (dragSource && !dragSource.pressed)
|
||||||
widgetElements.model.remove(dragSource.DelegateModel.itemsIndex);
|
widgetElements.model.remove(dragSource.DelegateModel.itemsIndex);
|
||||||
dragSource = undefined;
|
dragSource = undefined;
|
||||||
|
elementRemoveArea.dragActive = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
states: State {
|
states: State {
|
||||||
|
|||||||
@ -9,6 +9,7 @@ import "../"
|
|||||||
Canvas {
|
Canvas {
|
||||||
property color titleBarColor: "gray"
|
property color titleBarColor: "gray"
|
||||||
property color fontColor: "white"
|
property color fontColor: "white"
|
||||||
|
property color redColor: "red"
|
||||||
property color foregroundWarningColor: "red"
|
property color foregroundWarningColor: "red"
|
||||||
property bool outlineCloseButton: false
|
property bool outlineCloseButton: false
|
||||||
property color backgroundColor: calculateBackgroundColor()
|
property color backgroundColor: calculateBackgroundColor()
|
||||||
@ -39,7 +40,7 @@ Canvas {
|
|||||||
ctx.fillStyle = foregroundColor;
|
ctx.fillStyle = foregroundColor;
|
||||||
ctx.lineJoin = "miter";
|
ctx.lineJoin = "miter";
|
||||||
ctx.lineCap = "round";
|
ctx.lineCap = "round";
|
||||||
ctx.lineWidth = Math.max(1, 20 / width);
|
ctx.lineWidth = Math.max(1, 22.0 / width);
|
||||||
switch (buttonType) {
|
switch (buttonType) {
|
||||||
case WindowControlButton.Type.MinimizeButton:
|
case WindowControlButton.Type.MinimizeButton:
|
||||||
ctx.moveTo(4, 7);
|
ctx.moveTo(4, 7);
|
||||||
@ -139,6 +140,26 @@ Canvas {
|
|||||||
ctx.rect(3.5, 4.5, 11, 1);
|
ctx.rect(3.5, 4.5, 11, 1);
|
||||||
ctx.rect(3.5, 8.5, 11, 1);
|
ctx.rect(3.5, 8.5, 11, 1);
|
||||||
ctx.rect(3.5, 12.5, 11, 1);
|
ctx.rect(3.5, 12.5, 11, 1);
|
||||||
|
ctx.stroke();
|
||||||
|
break;
|
||||||
|
case WindowControlButton.Type.ExcludeFromCaptureButton:
|
||||||
|
ctx.moveTo(4.9, 6.5);
|
||||||
|
ctx.lineTo(5.8, 2.9);
|
||||||
|
ctx.lineTo(9, 4);
|
||||||
|
ctx.lineTo(12.2, 2.9);
|
||||||
|
ctx.lineTo(13.1, 6.5);
|
||||||
|
ctx.closePath();
|
||||||
|
ctx.fill();
|
||||||
|
|
||||||
|
ctx.moveTo(2.8, 8.5);
|
||||||
|
ctx.lineTo(15.2, 8.5);
|
||||||
|
|
||||||
|
ctx.ellipse(5 - 2.3, 10.5, 4.6, 4.6);
|
||||||
|
ctx.ellipse(13 - 2.3, 10.5, 4.6, 4.6);
|
||||||
|
|
||||||
|
ctx.moveTo(7.5, 12.8);
|
||||||
|
ctx.lineTo(10.5, 12.8);
|
||||||
|
|
||||||
ctx.stroke();
|
ctx.stroke();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -181,6 +202,8 @@ Canvas {
|
|||||||
return fontColor;
|
return fontColor;
|
||||||
} else if (buttonType == WindowControlButton.Type.CloseButton && outlineCloseButton) {
|
} else if (buttonType == WindowControlButton.Type.CloseButton && outlineCloseButton) {
|
||||||
return active ? foregroundWarningColor : fontColor;
|
return active ? foregroundWarningColor : fontColor;
|
||||||
|
} else if (buttonType == WindowControlButton.Type.ExcludeFromCaptureButton && checked) {
|
||||||
|
return redColor;
|
||||||
}
|
}
|
||||||
return Qt.rgba(0, 0, 0, 0);
|
return Qt.rgba(0, 0, 0, 0);
|
||||||
}
|
}
|
||||||
@ -190,7 +213,7 @@ Canvas {
|
|||||||
return titleBarColor;
|
return titleBarColor;
|
||||||
else if (buttonType == WindowControlButton.Type.CloseButton && outlineCloseButton)
|
else if (buttonType == WindowControlButton.Type.CloseButton && outlineCloseButton)
|
||||||
return titleBarColor;
|
return titleBarColor;
|
||||||
else if ((buttonType == WindowControlButton.Type.KeepAboveButton || buttonType == WindowControlButton.Type.KeepBelowButton || buttonType == WindowControlButton.Type.ShadeButton) && checked)
|
else if ((buttonType == WindowControlButton.Type.KeepAboveButton || buttonType == WindowControlButton.Type.KeepBelowButton || buttonType == WindowControlButton.Type.ShadeButton || buttonType == WindowControlButton.Type.ExcludeFromCaptureButton) && checked)
|
||||||
return titleBarColor;
|
return titleBarColor;
|
||||||
else if (hovered)
|
else if (hovered)
|
||||||
return titleBarColor;
|
return titleBarColor;
|
||||||
|
|||||||
@ -133,6 +133,8 @@ Item {
|
|||||||
return "plasma-symbolic";
|
return "plasma-symbolic";
|
||||||
case WindowControlButton.Type.AppMenuButton:
|
case WindowControlButton.Type.AppMenuButton:
|
||||||
return "application-menu";
|
return "application-menu";
|
||||||
|
case WindowControlButton.Type.ExcludeFromCaptureButton:
|
||||||
|
return "view-private";
|
||||||
default:
|
default:
|
||||||
return "";
|
return "";
|
||||||
}
|
}
|
||||||
|
|||||||
@ -97,6 +97,11 @@ function widgetElementModelFromName(name) {
|
|||||||
"type": WidgetElement.Type.WindowControlButton,
|
"type": WidgetElement.Type.WindowControlButton,
|
||||||
"windowControlButtonType": WindowControlButton.Type.AppMenuButton
|
"windowControlButtonType": WindowControlButton.Type.AppMenuButton
|
||||||
};
|
};
|
||||||
|
case "excludeFromCaptureButton":
|
||||||
|
return {
|
||||||
|
"type": WidgetElement.Type.WindowControlButton,
|
||||||
|
"windowControlButtonType": WindowControlButton.Type.ExcludeFromCaptureButton
|
||||||
|
};
|
||||||
case "windowTitle":
|
case "windowTitle":
|
||||||
return {
|
return {
|
||||||
"type": WidgetElement.Type.WindowTitle
|
"type": WidgetElement.Type.WindowTitle
|
||||||
|
|||||||
@ -79,6 +79,8 @@ function getAction(buttonType) {
|
|||||||
return ActiveWindow.Action.Menu;
|
return ActiveWindow.Action.Menu;
|
||||||
case WindowControlButton.Type.AppMenuButton:
|
case WindowControlButton.Type.AppMenuButton:
|
||||||
return ActiveWindow.Action.AppMenu;
|
return ActiveWindow.Action.AppMenu;
|
||||||
|
case WindowControlButton.Type.ExcludeFromCaptureButton:
|
||||||
|
return ActiveWindow.Action.ExcludeFromCapture;
|
||||||
default:
|
default:
|
||||||
return "";
|
return "";
|
||||||
}
|
}
|
||||||
|
|||||||
@ -12,7 +12,7 @@
|
|||||||
"Id": "com.github.antroids.application-title-bar",
|
"Id": "com.github.antroids.application-title-bar",
|
||||||
"Name": "Application Title Bar",
|
"Name": "Application Title Bar",
|
||||||
"License": "GPL-3.0+",
|
"License": "GPL-3.0+",
|
||||||
"Version": "0.8.5",
|
"Version": "0.9.1",
|
||||||
"Website": "https://github.com/antroids/application-title-bar",
|
"Website": "https://github.com/antroids/application-title-bar",
|
||||||
"FormFactors": [
|
"FormFactors": [
|
||||||
"desktop"
|
"desktop"
|
||||||
|
|||||||
@ -1,2 +1,2 @@
|
|||||||
Gilroy Medium;0xProto Nerd Font Mono;Gilroy Medium
|
Gilroy Medium;Gilroy Medium
|
||||||
|
|
||||||
|
|||||||
Binary file not shown.
File diff suppressed because one or more lines are too long
@ -1,4 +1,4 @@
|
|||||||
Host 128.140.8.193 openslides.bak-it.de dedicated1.bak-it.de www.linksjugend-solid.de monitoring.bak-it.de 91.107.234.106 vaultwarden.bak-it.de 167.233.38.143 78.46.239.229 168.119.171.217 78.47.196.196 5.75.139.112 mail.bak-it.de web.bak-it.de cloud.linksjugend-solid.de forum.linksjugend-solid.de backuppc.bak-it.de login.bak-it.de login.linksjugend-solid.de stuff.bak-it.de
|
Host shop.linksjugend-solid.de vaultwarden.bak-it.de matrix.bak-it.de openslides.bak-it.de bv-mainpage.bak-it.de 91.107.234.106 bibliothek.linksjugend-solid.de 167.233.38.143 78.46.239.229 168.119.171.217 78.47.196.196 5.75.139.112 mail.bak-it.de web.bak-it.de cloud.linksjugend-solid.de forum.linksjugend-solid.de backuppc.bak-it.de login.bak-it.de login.linksjugend-solid.de stuff.bak-it.de
|
||||||
User root
|
User root
|
||||||
IdentityFile ~/.ssh/solidProd
|
IdentityFile ~/.ssh/solidProd
|
||||||
|
|
||||||
|
|||||||
@ -4,7 +4,7 @@ gtk-button-images=true
|
|||||||
gtk-cursor-blink=true
|
gtk-cursor-blink=true
|
||||||
gtk-cursor-blink-time=1000
|
gtk-cursor-blink-time=1000
|
||||||
gtk-cursor-theme-name=catppuccin-frappe-blue-cursors
|
gtk-cursor-theme-name=catppuccin-frappe-blue-cursors
|
||||||
gtk-cursor-theme-size=24
|
gtk-cursor-theme-size=18
|
||||||
gtk-decoration-layout=icon:minimize,maximize,close
|
gtk-decoration-layout=icon:minimize,maximize,close
|
||||||
gtk-enable-animations=true
|
gtk-enable-animations=true
|
||||||
gtk-enable-event-sounds=1
|
gtk-enable-event-sounds=1
|
||||||
@ -19,6 +19,6 @@ gtk-theme-name=Catppuccin-Frappe-Standard-Blue-Dark
|
|||||||
gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR
|
gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR
|
||||||
gtk-toolbar-style=3
|
gtk-toolbar-style=3
|
||||||
gtk-xft-antialias=1
|
gtk-xft-antialias=1
|
||||||
gtk-xft-dpi=98304
|
gtk-xft-dpi=122880
|
||||||
gtk-xft-hinting=1
|
gtk-xft-hinting=1
|
||||||
gtk-xft-hintstyle=hintfull
|
gtk-xft-hintstyle=hintfull
|
||||||
|
|||||||
@ -3,7 +3,7 @@ gtk-application-prefer-dark-theme=true
|
|||||||
gtk-cursor-blink=true
|
gtk-cursor-blink=true
|
||||||
gtk-cursor-blink-time=1000
|
gtk-cursor-blink-time=1000
|
||||||
gtk-cursor-theme-name=catppuccin-frappe-blue-cursors
|
gtk-cursor-theme-name=catppuccin-frappe-blue-cursors
|
||||||
gtk-cursor-theme-size=24
|
gtk-cursor-theme-size=18
|
||||||
gtk-decoration-layout=icon:minimize,maximize,close
|
gtk-decoration-layout=icon:minimize,maximize,close
|
||||||
gtk-enable-animations=true
|
gtk-enable-animations=true
|
||||||
gtk-font-name=Noto Sans, 10
|
gtk-font-name=Noto Sans, 10
|
||||||
@ -11,4 +11,4 @@ gtk-icon-theme-name=breeze-dark
|
|||||||
gtk-modules=colorreload-gtk-module
|
gtk-modules=colorreload-gtk-module
|
||||||
gtk-primary-button-warps-slider=true
|
gtk-primary-button-warps-slider=true
|
||||||
gtk-sound-theme-name=ocean
|
gtk-sound-theme-name=ocean
|
||||||
gtk-xft-dpi=98304
|
gtk-xft-dpi=122880
|
||||||
|
|||||||
@ -55,7 +55,7 @@
|
|||||||
},
|
},
|
||||||
"edit_predictions": {
|
"edit_predictions": {
|
||||||
"ollama": {
|
"ollama": {
|
||||||
"model": "qwen2.5-coder:7b-base"
|
"model": "qwen2.5-coder:7b-base",
|
||||||
},
|
},
|
||||||
"provider": "open_ai_compatible_api",
|
"provider": "open_ai_compatible_api",
|
||||||
"open_ai_compatible_api": {
|
"open_ai_compatible_api": {
|
||||||
@ -116,6 +116,11 @@
|
|||||||
"enable_preview_multibuffer_from_code_navigation": true,
|
"enable_preview_multibuffer_from_code_navigation": true,
|
||||||
"enable_preview_from_file_finder": true,
|
"enable_preview_from_file_finder": true,
|
||||||
},
|
},
|
||||||
|
"file_scan_exclusions": [
|
||||||
|
"**/.venv/**/*",
|
||||||
|
"**/node_modules/**/*",
|
||||||
|
"**/dist/**/*",
|
||||||
|
],
|
||||||
"tabs": {
|
"tabs": {
|
||||||
"show_close_button": "always",
|
"show_close_button": "always",
|
||||||
"activate_on_close": "neighbour",
|
"activate_on_close": "neighbour",
|
||||||
@ -133,7 +138,7 @@
|
|||||||
"close_on_file_delete": true,
|
"close_on_file_delete": true,
|
||||||
"search": {
|
"search": {
|
||||||
"include_ignored": true,
|
"include_ignored": true,
|
||||||
"center_on_match": false,
|
"center_on_match": true,
|
||||||
},
|
},
|
||||||
"use_smartcase_search": false,
|
"use_smartcase_search": false,
|
||||||
"diagnostics": {
|
"diagnostics": {
|
||||||
@ -211,4 +216,10 @@
|
|||||||
"light": "One Light",
|
"light": "One Light",
|
||||||
"dark": "Catppuccin Frappé",
|
"dark": "Catppuccin Frappé",
|
||||||
},
|
},
|
||||||
|
"dap": {
|
||||||
|
"CodeLLDB": {
|
||||||
|
"binary": "/run/current-system/sw/bin/lldb-dap",
|
||||||
|
"args": [],
|
||||||
|
},
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
|||||||
@ -115,6 +115,7 @@ in
|
|||||||
# KDE
|
# KDE
|
||||||
kdePackages.bluedevil
|
kdePackages.bluedevil
|
||||||
kdePackages.krdc
|
kdePackages.krdc
|
||||||
|
kdePackages.plasma-keyboard
|
||||||
|
|
||||||
# Net
|
# Net
|
||||||
pkgs-unstable.gns3-gui
|
pkgs-unstable.gns3-gui
|
||||||
|
|||||||
@ -175,7 +175,6 @@ in
|
|||||||
grim
|
grim
|
||||||
slurp
|
slurp
|
||||||
swappy
|
swappy
|
||||||
wl-clipboard
|
|
||||||
copyq
|
copyq
|
||||||
python312Packages.pillow
|
python312Packages.pillow
|
||||||
|
|
||||||
@ -195,11 +194,6 @@ in
|
|||||||
blender
|
blender
|
||||||
freecad
|
freecad
|
||||||
|
|
||||||
# Dev
|
|
||||||
python3
|
|
||||||
qemu
|
|
||||||
virt-manager
|
|
||||||
|
|
||||||
# Comms
|
# Comms
|
||||||
discord-ptb
|
discord-ptb
|
||||||
kdePackages.kdeconnect-kde
|
kdePackages.kdeconnect-kde
|
||||||
|
|||||||
@ -76,7 +76,7 @@
|
|||||||
uid = 1000;
|
uid = 1000;
|
||||||
isNormalUser = true;
|
isNormalUser = true;
|
||||||
description = "someone";
|
description = "someone";
|
||||||
extraGroups = [ "wheel" "docker" "libvirtd" "gpio" "wireshark" "adbusers" ];
|
extraGroups = [ "wheel" "docker" "libvirtd" "gpio" "wireshark" "adbusers" "networking" ];
|
||||||
packages = with pkgs; [];
|
packages = with pkgs; [];
|
||||||
shell = pkgs.zsh;
|
shell = pkgs.zsh;
|
||||||
};
|
};
|
||||||
@ -175,10 +175,17 @@
|
|||||||
|
|
||||||
# Graphics
|
# Graphics
|
||||||
gimp3
|
gimp3
|
||||||
virtiofsd
|
|
||||||
ciscoPacketTracer9
|
ciscoPacketTracer9
|
||||||
pkgs-unstable.zed-editor
|
pkgs-unstable.zed-editor
|
||||||
|
|
||||||
|
# VM
|
||||||
|
qemu
|
||||||
|
virtiofsd
|
||||||
|
virt-manager
|
||||||
|
spice
|
||||||
|
spice-gtk
|
||||||
|
spice-protocol
|
||||||
|
|
||||||
# Printing
|
# Printing
|
||||||
cnijfilter2 # canon printer
|
cnijfilter2 # canon printer
|
||||||
|
|
||||||
@ -186,7 +193,10 @@
|
|||||||
wireshark
|
wireshark
|
||||||
|
|
||||||
# Misc
|
# Misc
|
||||||
|
python3
|
||||||
|
lldb
|
||||||
hunspell
|
hunspell
|
||||||
|
wl-clipboard
|
||||||
hunspellDicts.en_US
|
hunspellDicts.en_US
|
||||||
hunspellDicts.de_DE
|
hunspellDicts.de_DE
|
||||||
docker-buildx
|
docker-buildx
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user