Skip to content

Commit

Permalink
Merge pull request #59 from zeroxoneafour/master
Browse files Browse the repository at this point in the history
v0.5.2
  • Loading branch information
zeroxoneafour committed Jul 4, 2023
2 parents ff8889e + 0b02700 commit c36e5ee
Show file tree
Hide file tree
Showing 22 changed files with 591 additions and 423 deletions.
30 changes: 0 additions & 30 deletions .github/ISSUE_TEMPLATE/bug-report.md

This file was deleted.

60 changes: 60 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
name: Bug Report
description: File a bug report
title: "[Bug]: "
labels: ["bug"]
body:
- type: checkboxes
id: checks
attributes:
label: Before you make the issue, confirm that
options:
- label: You are running the master build from GitHub actions
required: true
- label: You have read the FAQ and the usage instructions
required: true
- label: You have searched pull requests and issues and have found none similar to your issue
required: true
- label: This problem comes from a failure in the tiling system and not a missing feature
required: true
- type: textarea
id: describir
attributes:
label: Describe the bug
description: A clear and concise description of what the bug is.
placeholder: Tell us what you see!
validations:
required: true
- type: textarea
id: reproduce
attributes:
label: To reproduce
description: Steps to take to reproduce the bug
placeholder: To reproduce the bug -
validations:
required: true
- type: textarea
id: expectations
attributes:
label: Expected behavior
description: A clear and concise description of what you expected to happen.
validations:
required: true
- type: textarea
id: logs
attributes:
label: Relevant log output
description: See the [usage instructions](https://zeroxoneafour.github.io/polonium/usage.html#getting-a-log) for how to get a log on systemd-based distributions
render: shell
validations:
required: true
- type: textarea
id: pictures
attributes:
label: Screenshots and videos
description: If possible, screenshots and videos will help
- type: textarea
id: context
attributes:
label: Additional context
description: Add additional context if needed

4 changes: 3 additions & 1 deletion .github/workflows/build_kwinscript.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
name: Make polonium.kwinscript

on:
push:
branches: [ "local" ]
pull_request:
branches: [ "master" ]

Expand All @@ -13,7 +15,7 @@ jobs:
- uses: actions/checkout@v3

- name: Install dependencies
run: sudo apt-get install -y kpackagetool5 npm node-typescript
run: sudo apt-get install -y kpackagetool5 npm

- name: Build with make
run: make build
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/publish_kwinscript.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ jobs:
- uses: actions/checkout@v3

- name: Install dependencies
run: sudo apt-get install -y kpackagetool5 npm node-typescript
run: sudo apt-get install -y kpackagetool5 npm

- name: Build with make
run: |
Expand Down
4 changes: 2 additions & 2 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
NAME = polonium
VERSION = 0.5.1
VERSION = 0.5.2

PKGFILE = $(NAME).kwinscript
PKGDIR = pkg
Expand Down Expand Up @@ -37,7 +37,7 @@ res: $(PKGDIR)
sed -i "s/%VERSION%/$(VERSION)/" $(PKGDIR)/metadata.json
sed -i "s/%NAME%/$(NAME)/" $(PKGDIR)/metadata.json

src: polonium.mjs
src: polonium.mjs $(PKGDIR)
mv -f polonium.mjs $(PKGDIR)/contents/code/main.mjs
cp -f src/qml/* $(PKGDIR)/contents/code/

Expand Down
11 changes: 11 additions & 0 deletions changelog.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,17 @@

## 0.5.0

### 0.5.2
* Fixed QTimer undefined bug
* Added fullscreen handler on a per-window basis
* Website redesign from @HimDek
* Added rudimentary monocle layout
* Refactored some stuff to use more per-window signals instead of global kwin ones
* Basic support for quick tile shortcuts and quick tiling
* Windows return to roughly where they were previously when tiling and retiling
* Improved support for quick tile shortcuts
* Basic unfullscreen when something is tiled (doesn't really work, kwin inconsistency?)

### 0.5.1
* Added an optional direction parameter to `TilingEngine.putClientInTile` and most descending classes
* Added code to set geometry of windows when not active to preserve their shape
Expand Down
10 changes: 5 additions & 5 deletions docs/faq.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,6 @@ You need to hold down the KWin tile snapping key and drag the window with your m

Make sure the shortcuts are set under the KWin tab of the Shortcuts setting. After setting the shortcuts, make sure to restart KWin. They should set by default unless a different shortcut is conflicting.

### Fullscreen isn't working correctly

Some apps do not handle fullscreen correctly.

### This works on Wayland but not X11

X11 is not officially supported, but you can drop an issue and I can see if I can fix it. Include a log!
Expand All @@ -28,6 +24,10 @@ You can turn the latency down to 1ms or up to 200ms in the settings, under callb

KWin, by default, remembers the location of windows. It will try to put them back into these locations if the windows request it. Known windows that do include Firefox. If this conflicts with tiling, try adding a KWin rule to all windows to force ignore requested geometry.

### Shortcuts don't work in monocle layout

The shortcuts are designed to take advantage of the KWin API, which the monocle layout does the opposite of. Because no tiles are used when laying out the windows, many of the shortcuts cannot find tiles to execute commands with. Built-in KWin shortcuts should still work.

### I want to move windows using my mouse while keeping them tiled

When moving a window, KWin untiles it. I could circumvent this issue by constantly forcing the window back into the nearest available tile, but it would be unoptimized, messy, and would not integrate well with the KWin tiling system. This script tries to work instead of against the builtin tiling system whenever possible, and therefore supports moving floated windows into tiles when using the shift key (just as our founding fathers intended). This being said, if KWin ever adds an option to keep windows tiled while moving them, you bet I would jump onto supporting that engine-side in a heartbeat.
When moving a window, KWin untiles it. I could circumvent this issue by constantly forcing the window back into the nearest available tile, but it would be unoptimized, messy, and would not integrate well with the KWin tiling system. This script tries to work instead of against the builtin tiling system whenever possible, and therefore supports moving floated windows into tiles when using the shift key (just as our founding fathers intended). This being said, if KWin ever adds an option to keep windows tiled while moving them, you bet I would jump onto supporting that engine-side in a heartbeat.
6 changes: 4 additions & 2 deletions docs/usage.md
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,7 @@ Polonium requires that KWin be restarted every time the configuration is changed
* Tile popup windows (check box) - Whether to tile windows marked as popup windows
* Keep tiled below (check box) - Whether to keep tiled windows below other windows
* Maximize single windows (check box) - Whether to maximize solo windows on desktops. May be slightly buggy
* Unfullscreen windows when new windows are tiled (check box) - Whether to temporarily reduce windows from fullscreen when a new window is tiled
* Resize amount (slider) - The amount to resize windows by, from 0.001 to 0.45 of the available desktop space
* Callback delay (slider) - The time in milliseconds to wait before callbacks to rebuild the layout or update the desktop, from 1 to 200. Slower computers want more time
* Default engine (dropdown) - The default tiling engine you want to use on new desktops
Expand All @@ -60,7 +61,8 @@ The engines are specific to desktops and are cycled in this order by pressing th
1. BTree - Breadth-first binary tree engine, sort of balances windows
2. Half - Put one main window on the left and several on the right. Can also be the other way around
3. Three Column - Put one main window in the center and some on the left and right
4. KWin - Float windows, but keep the Kwin tiling system intact so you can place them as you want and preserve their locations
4. Monocle - Place all of your windows in the center and stack them on top of each other
5. KWin - Float windows, but keep the Kwin tiling system intact so you can place them as you want and preserve their locations

The default engine setting determines which engine desktops will start with.

Expand All @@ -72,4 +74,4 @@ Sometimes you may have to get a log. To do this, enable debug mode in the settin
journalctl --user --no-pager -e | grep "Polonium"
```

Logs are required for bug reports if the bug has to do with tiling.
Logs are required for bug reports if the bug has to do with tiling.
4 changes: 2 additions & 2 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "polonium",
"version": "0.5.1",
"version": "0.5.2",
"description": "A tiling window manager for KWin",
"main": "src/index.ts",
"private": true,
Expand Down
Loading

0 comments on commit c36e5ee

Please sign in to comment.