numirias / qtile-plasma Goto Github PK
View Code? Open in Web Editor NEW๐ฎ A flexible, tree-based layout for Qtile
License: MIT License
๐ฎ A flexible, tree-based layout for Qtile
License: MIT License
I'm currently on develop
branch of qtile
and installed one with pip3 install -e .
.
Does this layout support develop
branch and how can I install it without replacing my current installation (qtile-plasma
package loads stable version of qtile
by dependencies). I'm not a Python developer, so question might be silly, but nevertheless.
I'm getting following error both with 0.10.7 and recently released 0.11.0:
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/nazar-pc/.local/lib/python3.6/site-packages/plasma/layout.py", line 64, in add
self.root.restore(new)
File "/home/nazar-pc/.local/lib/python3.6/site-packages/plasma/node.py", line 560, in restore
raise NotRestorableError()
plasma.node.NotRestorableError
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/nazar-pc/.local/bin/qtile", line 11, in <module>
load_entry_point('qtile', 'console_scripts', 'qtile')()
File "/web/github/qtile/libqtile/scripts/qtile.py", line 125, in main
q = make_qtile()
File "/web/github/qtile/libqtile/scripts/qtile.py", line 119, in make_qtile
state=options.state,
File "/web/github/qtile/libqtile/manager.py", line 245, in __init__
self.scan()
File "/web/github/qtile/libqtile/manager.py", line 568, in scan
self.manage(item)
File "/web/github/qtile/libqtile/manager.py", line 627, in manage
c = window.Window(w, self)
File "/web/github/qtile/libqtile/window.py", line 770, in __init__
group.add(self)
File "/web/github/qtile/libqtile/group.py", line 270, in add
i.add(win)
File "/home/nazar-pc/.local/lib/python3.6/site-packages/plasma/layout.py", line 66, in add
node.add_node(new, self.add_mode)
File "/home/nazar-pc/.local/lib/python3.6/site-packages/plasma/node.py", line 539, in add_node
self.parent.add_child_after(node, self)
File "/home/nazar-pc/.local/lib/python3.6/site-packages/plasma/node.py", line 498, in add_child_after
self.add_child(new, idx=old.index+1)
File "/home/nazar-pc/.local/lib/python3.6/site-packages/plasma/node.py", line 495, in add_child
Node.fit_into(node.siblings, total - (total / len(self)))
TypeError: unsupported operand type(s) for /: 'NoneType' and 'int'
The current version of the code is not compatible with Python 3.11. Specifically, individual values of enums cannot be unpacked anymore. So lines like
Line 20 in 4b57f31
and
Line 36 in 4b57f31
are no longer valid and have to be replaced with
HORIZONTAL = Orient.HORIZONTAL
VERTICAL = Orient.VERTICAL
and
UP = Direction.UP
DOWN = Direction.DOWN
LEFT = Direction.LEFT
RIGHT = Direction.RIGHT
It'd be nice if when qtile restarts the layout was kept. Getting the window sizes to stick if changes in monitor happen maybe tough, but at least getting the vertical/horizontal tiling part correct would be quite nice.
Title pretty much says it. With i3 I can move across groups (workspaces) directionally, the equivalent of lazy.layout.left()
and lazy.layout.right()
, and this works across screens (monitors), and therefore, workspaces as well. Is it possible to do this with qtile-plasma?
Following methods from readme seem to be either not implemented or not working properly:
2018-03-02 00:03:29,686 libqtile manager.py:handle_KeyPress():L933 KB command error mode_horizontal: No such command.
2018-03-02 00:03:29,939 libqtile manager.py:handle_KeyPress():L933 KB command error mode_vertical: No such command.
2018-03-02 00:03:31,850 libqtile manager.py:handle_KeyPress():L933 KB command error mode_horizontal_split: No such command.
2018-03-02 00:03:32,068 libqtile manager.py:handle_KeyPress():L933 KB command error mode_vertical_split: No such command.
I really like your work.
However, there is only one thing that is causing me to hold back on making it my default layout. When I resize the window, the border turns into the color emerald blue, and after that the border I specified in my layout theme is completely gone. Is there anyway to fix this?
Arch recently updated python to 3.11, since then I have not been able to use Plasma. Running
python config.py
gives the error
Traceback (most recent call last):
File "/home/roshan/.config/qtile/config.py", line 11, in <module>
from plasma import Plasma
File "/home/roshan/.local/lib/python3.11/site-packages/plasma/__init__.py", line 1, in <module>
from .layout import Plasma
File "/home/roshan/.local/lib/python3.11/site-packages/plasma/layout.py", line 6, in <module>
from .node import Node, AddMode, NotRestorableError
File "/home/roshan/.local/lib/python3.11/site-packages/plasma/node.py", line 20, in <module>
HORIZONTAL, VERTICAL = Orient
^^^^^^^^^^^^^^^^^^^^
ValueError: not enough values to unpack (expected 2, got 1)
This error is just because of the import, it persists even if I'm not using the library ever again in the config.
Reset_size() has not no effect after performing a vertical split. After closing the vertical split window it works fine.
Steps to reproduce:
5th step should reset/normalize the size of all windows but it has no effect
I'm currently using Tile as primary layout. I'd like to switch to Plasma, but it lacks some major options before I can to the switch:
ratio
masterWindows
expand
ratio_increment
add_on_top
add_after_last
shift_windows
master_match
These are mostly trivial and I believe corresponding functions can be mostly copied from Tile layout's source code.
Updating to qtile v0.23.0 requires making the changes, see this commit in my fork: jrwrigh@cbe487d
Hopefully I'll find time to make an actual fork...
Hi, Ive been trying to set the width of a program from within a hook, so that as soon as I launch for example MPV, it will resize it to a width of 1920.
On trying to run the command from qtile shell,
layout > width(500)
File "/home/gary/.local/lib/python3.9/site-packages/plasma/node.py", line 328, in size
val = max(min(val, self.parent.capacity - occupied),
TypeError: '<' not supported between instances of 'int' and 'str'
I am sorry, I don't know how to submit a patch, but I fixed this by changing line 328 of node.py to
val = max(min(int(val), self.parent.capacity - occupied),
to change the type of val to an integer
I am still having trouble calling the width function directly from within a hook, but I am unsure if I am doing it correctly or if this is just unsupported, I would be appreciative if you could give me some direction on how to accomplish this? I have a rather hacky solution in place at the moment to simulate a keypress which is bound to the lazy.layout.width() function
Thank you
numirias,
I'm one of the qtile developers and wanted to leave a note to say a big thank you for your work on this layout.
It's very popular with some of our users so we're going to incorporate it into the main qtile codebase (with full acknowledgement to you) so even more people can use it.
So thanks again for the work here. We appreciate you!
elParaguayo
From reading the readme, I'm finding it difficult to visualise how this layout works. Please consider adding a short video demo showing the basics of this layout.
After the installation of qtile-plasma through pip, I added this line to my config.py file
from plasma import Plasma
and got the following error from "qtile check". What may be wrong?
checking qtile config file /home/murpheux/.config/qtile/config.py
/tmp/tmpveqd7x41/config.py:11: error: Skipping analyzing 'plasma': found module but no type hints or library stubs
/tmp/tmpveqd7x41/config.py:11: note: See https://mypy.readthedocs.io/en/latest/running_mypy.html#missing-imports
Found 1 error in 1 file (checked 1 source file)
config file type checking failed: Command '['mypy', '--python-version=3.8', '/tmp/tmpveqd7x41/config.py']' returned non-zero exit status 1.
I am running python 3.9.4 on manjaro linux. Thanks
Hi,
When I used the BSP layout of Qtile and I use conky for instance, the terminal windows are above conky
But when I use Plasma layout conky is above my terminals. The config I use is:
conky.config = {
alignment = 'top_right',
background = false,
border_inner_margin = 15,
color2 = 'f2f2f2',
cpu_avg_samples = 2,
default_color = 'cf6a4c',
double_buffer = true,
font = 'Cousine Nerd Font Mono:size=10',
draw_shades = true,
gap_x = 30,
gap_y = 50,
pad_percents = 300,
minimum_width = 250,
no_buffers = true,
own_window = true,
own_window_type = 'override',
own_window_transparent = false,
own_window_colour = '1e1e1e',
own_window_class = 'conky-sysinfo',
own_window_hints = 'undecorated,below,sticky,skip_taskbar,skip_pager',
update_interval = 1.0,
use_xft = true,
own_window_title = 'Conky Sysinfo',
}
I don't get it..
my dotfiles are found at https://github.com/combro2k/dotfiles
After executing pip3 install --upgrade qtile-plasma
i see errors:
100% |โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ| 245kB 679kB/s
Complete output from command python setup.py egg_info:
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/tmp/pip-build-jnoa60a6/qtile/setup.py", line 71, in <module>
'libqtile/core/xcursors_ffi_build.py:xcursors_ffi',
File "/usr/lib/python3/dist-packages/setuptools/__init__.py", line 128, in setup
_install_setup_requires(attrs)
File "/usr/lib/python3/dist-packages/setuptools/__init__.py", line 121, in _install_setup_requires
dist.parse_config_files(ignore_option_errors=True)
File "/usr/lib/python3/dist-packages/setuptools/dist.py", line 494, in parse_config_files
ignore_option_errors=ignore_option_errors)
File "/usr/lib/python3/dist-packages/setuptools/config.py", line 110, in parse_configuration
options.parse()
File "/usr/lib/python3/dist-packages/setuptools/config.py", line 380, in parse
self.section_prefix, section_name))
distutils.errors.DistutilsOptionError: Unsupported distribution option section: [options.data_files]
----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-jnoa60a6/qtile/
My qtile version: 0.10.7 (installed with sudo apt install qtile).
I'm running Ubuntu 16.04 and even just importing the Plasma
class seems to crash qtile and cause it to resort to the default config. Any ideas why this is happening?
Plasma is installed correctly and I've had a look through the source and I can't see anything in the __init__
that could be running on import. Is import order important?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.