You are not logged in.
I'm not sure if it's an issue with openbox's internal keybindings but I can't cycle [alt+c] through my windows in maximal mode. cycling works fine in all the other modes. Is this a normal behavior?
cl10k
Last edited by cl10k (2010-02-11 20:46:04)
Offline
In slim.log the following error messages are getting filled.
2/22/2010 at 20:40:26: Traceback (most recent call last):
File "/usr/bin/pytyle", line 240, in <module>
State.get_windows()[e.get_window_id()].refresh()
File "/usr/lib/python2.6/site-packages/PyTyle/Window.py", line 213, in refresh
update = PROBE.get_window(self.xobj)
File "/usr/lib/python2.6/site-packages/PyTyle/Probe.py", line 316, in get_window
windesk = win.get_full_property(self.atom("_NET_WM_DESKTOP"), 0).value[0]
AttributeError: 'NoneType' object has no attribute 'value'
Offline
Hello!
There is something wrong with pytyle+xxkb.
I use Openbox and 2 keyboard layouts. Layout is stored for each window. In tile mode after I switch windows focus through keyboard shortcuts to another window and then switch back to the previous window, keyboard layout on this window resets to default state. However, if I switch window focus with mouse there is no any problems with layout.
upd.
I'm very sorry, it wasn't tiler's fault, but mine - wrong xxkb configuration. I've put this lines to .xxkbrc:
XXkb.controls.add_when_start: yes
XXkb.controls.add_when_create: yes
XXkb.controls.add_when_change: no
XXkb.controls.focusout: no
and now everything works fine
Last edited by voidux (2010-03-20 10:27:18)
Offline
I have a feature request for a keybinding that seems handy. Is it possible to have an alternative to Alt-U (untile), that stops tiling, but does not return the windows to their original sizes and positions? This is useful when you want to arrange several windows as tiled, then continue working normal with floating windows.
(I can make this change for myself, but maybe other people will find it useful as well.)
Hi a was actually reading every thread to look for just this feature. so i just want to add my support for this feature.
Super great, i've looked for setting something like this up for years. (like since 2003-4, when i tried other systems than Windows , OS2, Dos, and so on)
Thanks for your really nice work. How do you get the time ?
Mic
Offline
Hi i have made some changes to the pytyle src, to enable
a function that could "untile" but remember windows positioning from the tiling.
I called it untile_remember.
And bound it to ALT-F
It was very easy, took 30 min to grasp they code. plus 1 hour to do it. and find the spots to
do it all in.
It affects no other code except an extra entry in. Config.py, Tile.py and pytylerc.
How is config file created?
Is this interesting for anyone. should i send a diff?
Or something else.
Do you still read here BurntSushi?
PS: Is this considered necro-bumping
I read up on it. but couldn't find a deadline for necro-bumping.
Offline
Hi i have made some changes to the pytyle src, to enable
a function that could "untile" but remember windows positioning from the tiling.I called it untile_remember.
And bound it to ALT-FIt was very easy, took 30 min to grasp they code. plus 1 hour to do it. and find the spots to
do it all in.
It affects no other code except an extra entry in. Config.py, Tile.py and pytylerc.
How is config file created?Is this interesting for anyone. should i send a diff?
Or something else.Do you still read here BurntSushi?
Hi,
you should poste the patch here in the thread. Everyone who find it useful can grab it and patch the sources,
Offline
Hi here is a patch.
i did this to create the patch.
$ diff -rc pytyle-0.7.4_org/ pytyle-0.7.4/ > pytyle.patch
Maybe unified patch instead?
patch: pytyle.patch
Only in pytyle-0.7.4/: mkj_changes.txt
diff -cr pytyle-0.7.4_org//PyTyle/Config.py pytyle-0.7.4//PyTyle/Config.py
*** pytyle-0.7.4_org//PyTyle/Config.py 2009-09-20 00:42:09.000000000 +0200
--- pytyle-0.7.4//PyTyle/Config.py 2010-04-05 19:52:04.000000000 +0200
***************
*** 60,65 ****
--- 60,66 ----
'KEYMAP': {
'Alt-A': 'tile.default',
'Alt-U': 'untile',
+ 'Alt-F': 'untile_remember',
'Alt-Z': 'cycle_tiler',
'Alt-Shift-space': 'reset',
'Alt-C': 'cycle',
***************
*** 92,98 ****
},
},
'FILTER': [
! 'gmrun', 'gimp', 'download',
],
'LAYOUT': {
'Vertical': {
--- 93,99 ----
},
},
'FILTER': [
! 'gmrun', 'gimp', 'download', 'xfrun4',
],
'LAYOUT': {
'Vertical': {
***************
*** 187,190 ****
#
# PRIVACY NOTE: This may log the titles of
# your windows!
! DEBUG = False
\ No newline at end of file
--- 188,191 ----
#
# PRIVACY NOTE: This may log the titles of
# your windows!
! DEBUG = False
Only in pytyle-0.7.4//PyTyle: Config.pyc
Only in pytyle-0.7.4//PyTyle: Debug.pyc
Only in pytyle-0.7.4//PyTyle: Desktop.pyc
Only in pytyle-0.7.4//PyTyle: Event.pyc
Only in pytyle-0.7.4//PyTyle: html
Only in pytyle-0.7.4//PyTyle: __init__.pyc
Only in pytyle-0.7.4//PyTyle: Probe.pyc
Only in pytyle-0.7.4//PyTyle: Screen.pyc
Only in pytyle-0.7.4//PyTyle: State.pyc
diff -cr pytyle-0.7.4_org//PyTyle/Tile.py pytyle-0.7.4//PyTyle/Tile.py
*** pytyle-0.7.4_org//PyTyle/Tile.py 2009-09-19 23:52:18.000000000 +0200
--- pytyle-0.7.4//PyTyle/Tile.py 2010-04-05 20:16:40.000000000 +0200
***************
*** 152,157 ****
--- 152,174 ----
window.remove_decorations()
window.resize(window.origx, window.origy, window.origwidth, window.origheight)
+
+ # Added by @run (MKJ)
+ # Same as _untile, but remembers the windows position, (deosnt restore old coordinates)
+ #
+ # Maybe call it floating?
+ def _untile_remember(self):
+ # just resize all the windows back to their original x/y/width/height
+ for window in self.storage.get_all():
+ if Config.misc('original_decor'):
+ window.add_decorations()
+ else:
+ window.remove_decorations()
+
+ # Away with this
+ #window.resize(window.origx, window.origy, window.origwidth, window.origheight)
+
+ # Maybe unload all key shortcuts except ALT-A ?
#
# Tells PyTyle to reload the configuration file.
***************
*** 522,532 ****
self.screen.enable_tiling()
self._tile()
self.screen.got_tiling()
!
def untile(self):
self._untile()
self.screen.disable_tiling()
def cycle_tiler(self):
for i in range(len(Config.misc('tilers'))):
if Config.misc('tilers')[i] is self.__class__.__name__:
--- 539,554 ----
self.screen.enable_tiling()
self._tile()
self.screen.got_tiling()
!
def untile(self):
self._untile()
self.screen.disable_tiling()
+ # @run:
+ def untile_remember(self):
+ self._untile_remember()
+ self.screen.disable_tiling()
+
def cycle_tiler(self):
for i in range(len(Config.misc('tilers'))):
if Config.misc('tilers')[i] is self.__class__.__name__:
***************
*** 604,607 ****
self._restore_all()
def query(self):
! self._query()
\ No newline at end of file
--- 626,629 ----
self._restore_all()
def query(self):
! self._query()
Only in pytyle-0.7.4//PyTyle: Tile.pyc
Only in pytyle-0.7.4//PyTyle/Tilers: Cascade.pyc
Only in pytyle-0.7.4//PyTyle/Tilers: Horizontal.pyc
Only in pytyle-0.7.4//PyTyle/Tilers: HorizontalRows.pyc
Only in pytyle-0.7.4//PyTyle/Tilers: __init__.pyc
Only in pytyle-0.7.4//PyTyle/Tilers: Maximal.pyc
Only in pytyle-0.7.4//PyTyle/Tilers: TileDefault.pyc
Only in pytyle-0.7.4//PyTyle/Tilers: Vertical.pyc
Only in pytyle-0.7.4//PyTyle: TileState.pyc
Only in pytyle-0.7.4//PyTyle: TileStorage.pyc
Only in pytyle-0.7.4//PyTyle: Viewport.pyc
Only in pytyle-0.7.4//PyTyle: Window.pyc
diff -cr pytyle-0.7.4_org//pytylerc pytyle-0.7.4//pytylerc
*** pytyle-0.7.4_org//pytylerc 2009-09-20 00:44:11.000000000 +0200
--- pytyle-0.7.4//pytylerc 2010-04-05 20:24:11.000000000 +0200
***************
*** 123,129 ****
# although it isn't quite perfect yet. (Specifically,
# if you have more than one screen.)
'Alt-U': 'untile',
!
# This will cycle through all available tiling
# algorithms. By default, there are currently only
# two: Vertical and Horizontal. (If you know Python,
--- 123,130 ----
# although it isn't quite perfect yet. (Specifically,
# if you have more than one screen.)
'Alt-U': 'untile',
! 'Alt-F': 'untile_remember',
!
# This will cycle through all available tiling
# algorithms. By default, there are currently only
# two: Vertical and Horizontal. (If you know Python,
Is this the correct way, didnt see any method to upload files.
Havent got any replies from author, thinks he is busy, (study?)
i missed an important "feature" which is to remember what layout was choosen.
It is confusing when pressing ALT-F (the function should be called floating instead of untile_remember, oh well!) and then ALT-A again that it chooses default tiling instead of the last
choosen tiling layout.
I can now see the problem with untiling to floating toggling. hmmm.
what if i placed windows deliberately then it would be irritating to have the order
changed to some tiling layout.
Maybe a function to remember windows positions, like a screen shot,
ie. remember current positions of windows, store in a queue?!..(store as new layout?)
Just Brainstorming.
mic
Offline
This is great
I like my openbox setup, but something was missing until i found pytyle.
I also like tiling wm's but with this i can have my openbox and tiling functionality.
It would be great to have something like this integrated into openbox.
Then it would be even more functional, beautiful and easy to use wm.
Offline
__ __ |__|__| |__|__|
Also I'm interested about that as well. Main + 4 other windows with HorizontalRows won't with my needs at all and would be nice to see 4 windows in the same geometry I've seen someone doing that but I'm unable to make any contact with him.
Offline
+1
I'm not so found of having a "main"
that should be included when you cycle
can't include all possibilities but a full square is definitely a must
Don't panic !
Offline
Thank you so much for this proyect, I've never used a tiling window manager before and have recently turned to openbox, but i can tell you this does exactly what i was looking for in terms of productivity and is very intuitive.
keep up the good work!
Offline
I am getting this when compiling from the AUR:
==> Starting build()...
PyTyle requires the Python X Library
See: http://python-xlib.sourceforge.net/
Traceback (most recent call last):
File "./setup.py", line 31, in <module>
sys.exit(0)
NameError: name 'sys' is not defined
==> ERROR: Build Failed.
Aborting...
Of course, the latest version of python xlib is installed :
python-xlib-0.15rc1-3
daedhel
Last edited by daedhel (2010-05-29 05:57:40)
Offline
Is PyTyle over with maintaining? The last AUR release was 6 months ago, so that's why I ask.
Also, I get this when using it on Openbox. The app isn't tiling, but still drops some errors or warnings: http://aur.pastebin.com/KER6gw5q
Sorry for the mess, this is pulled out with "cat /dev/vcs1 > textfile".
Offline
Is PyTyle over with maintaining? The last AUR release was 6 months ago, so that's why I ask.
Also, I get this when using it on Openbox. The app isn't tiling, but still drops some errors or warnings: http://aur.pastebin.com/KER6gw5q
Sorry for the mess, this is pulled out with "cat /dev/vcs1 > textfile".
I'm still around. I'm going to try and get another release out at some point this summer--I'm having trouble finding the free time to do so.
Anywho, it's been a while since I've worked with PyTyle... My first instinct to your problem is "don't worry about it." From what I can remember, PyTyle still listens to X events even if tiling is disabled... sometimes handling those events results in errors like what you're seeing. (Which is perfectly and usually expected.)
I'd say that as long as PyTyle isn't taking up lots of resources (i.e., isn't caught in some kind of loop) and is otherwise working okay, it would be safe to ignore those messages.
(I didn't want to post this in the AUR comments because it isn't a definitive answer. I'll look into it more when I get around to bug fixing and feature requests. Sorry!)
Education is favorable to liberty. Freedom can exist only in a society of knowledge. Without learning, men are incapable of knowing their rights, and where learning is confined to a few people, liberty can be neither equal nor universal.
Tu ne cede malis sed contra audentior ito
Offline
Cool! Thanks for answering, BurntSushi! Btw, your app rules Comes in nicely when I want FF + irssi in my sight, heehhe.
Offline
Just want to say thanks for this very cool app. I think it's the main reason why I keep coming back to Openbox.
Offline
*pats back*
Pytyle is excellent. Thanks!
Offline
I've got pytyle working on my compiz standalone desktop and its become indispensable now. Thanks for the great work!
Offline
Update!
I am currently working on re-writing PyTyle from the ground up. I plan on maintaining feature parity with the current version of PyTyle, and my primary objective is to provide "tiling with Openbox and other EWMH compliant window managers." (I have an ancillary interest in getting it working with KWin.)
There are a few big changes I have in mind:
Using the X Python Binding (xpyb) in place of the Python X Library (xlib)
xpyb uses xcb, which is faster than xlib
I plan on offering actual manual tiling (i3 style with containers) in addition to automatic tiling (like is currently available, XMonad style)
The aforementioned also brings with it more flexibility when it comes to resizing individual windows
Provide better support for undecorated windows (i.e., drawing borders around windows to see which are active, etc.)
Better code organization as my first pass with PyTyle was a hack job
Better error messages
More versatile key binding interface (hopefully including some sort of command line interface)
I am in the building and design process currently. Any suggestions or feature requests are welcome. I am looking to make PyTyle allow floating WM's without tiling support feel more like a tiling window manager on demand. Please email me. andrew at pytyle dot com.
Education is favorable to liberty. Freedom can exist only in a society of knowledge. Without learning, men are incapable of knowing their rights, and where learning is confined to a few people, liberty can be neither equal nor universal.
Tu ne cede malis sed contra audentior ito
Offline
good news, BurntSushi. Keep your good work going.
Offline
can't wait. sounds good.
Offline
Wow,that looks so good,no need for tiling wms anymore.
Offline
I think it's save to say that Pytyle is already the greatest invention of mankind. Aside from the xterm/gvim/urxvt gaps, it's pretty much perfect for my everyday use.
Offline
Update!
I am currently working on re-writing PyTyle from the ground up. I plan on maintaining feature parity with the current version of PyTyle, and my primary objective is to provide "tiling with Openbox and other EWMH compliant window managers." (I have an ancillary interest in getting it working with KWin.)
There are a few big changes I have in mind:
Using the X Python Binding (xpyb) in place of the Python X Library (xlib)
xpyb uses xcb, which is faster than xlib
I plan on offering actual manual tiling (i3 style with containers) in addition to automatic tiling (like is currently available, XMonad style)
The aforementioned also brings with it more flexibility when it comes to resizing individual windows
Provide better support for undecorated windows (i.e., drawing borders around windows to see which are active, etc.)
Better code organization as my first pass with PyTyle was a hack job
Better error messages
More versatile key binding interface (hopefully including some sort of command line interface)
I am in the building and design process currently. Any suggestions or feature requests are welcome. I am looking to make PyTyle allow floating WM's without tiling support feel more like a tiling window manager on demand. Please email me. andrew at pytyle dot com.
Sounds great Burntsushi! Thank you for your work.
As a request, I'd like to not have to have a "main" window.
A perfect square would be great:
_____
|__|__|
|__|__|
Don't panic !
Offline
Sounds great Burntsushi! Thank you for your work.
As a request, I'd like to not have to have a "main" window.
A perfect square would be great:
_____
|__|__|
|__|__|
that'd be nice ++
.:[ git me! ] :.
Offline