You are not logged in.

#126 2010-02-11 20:45:17

cl10k
Member
From: Germany
Registered: 2008-12-24
Posts: 92

Re: PyTyle: Manual tiling manager for EWMH compliant WM's

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

#127 2010-02-22 19:38:32

kgas
Member
From: Qatar
Registered: 2008-11-08
Posts: 718

Re: PyTyle: Manual tiling manager for EWMH compliant WM's

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

#128 2010-03-18 10:27:22

voidux
Member
Registered: 2010-02-03
Posts: 31

Re: PyTyle: Manual tiling manager for EWMH compliant WM's

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

#129 2010-03-29 10:01:27

cognacc
Member
From: Denmark
Registered: 2008-09-28
Posts: 14

Re: PyTyle: Manual tiling manager for EWMH compliant WM's

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. smile

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 ? smile


Mic

Offline

#130 2010-04-05 19:09:27

cognacc
Member
From: Denmark
Registered: 2008-09-28
Posts: 14

Re: PyTyle: Manual tiling manager for EWMH compliant WM's

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

#131 2010-04-05 19:35:29

destruct
Member
Registered: 2009-12-24
Posts: 14

Re: PyTyle: Manual tiling manager for EWMH compliant WM's

cognacc wrote:

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?

Hi,

you should poste the patch here in the thread. Everyone who find it useful can grab it and patch the sources,

Offline

#132 2010-04-09 19:20:28

cognacc
Member
From: Denmark
Registered: 2008-09-28
Posts: 14

Re: PyTyle: Manual tiling manager for EWMH compliant WM's

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?) smile

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

#133 2010-04-20 19:21:56

evot
Member
From: Finland
Registered: 2010-02-26
Posts: 96

Re: PyTyle: Manual tiling manager for EWMH compliant WM's

This is great smile

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

#134 2010-04-27 18:56:27

Shinryuu
Member
From: /dev/urandom
Registered: 2010-02-27
Posts: 339

Re: PyTyle: Manual tiling manager for EWMH compliant WM's

cephalopoid wrote:
 __ __
|__|__|
|__|__|

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 cool I've seen someone doing that but I'm unable to make any contact with him.

Offline

#135 2010-04-27 19:10:18

m4co
Member
Registered: 2009-12-29
Posts: 117
Website

Re: PyTyle: Manual tiling manager for EWMH compliant WM's

+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

#136 2010-05-26 15:43:03

andreamer
Member
Registered: 2009-08-11
Posts: 41

Re: PyTyle: Manual tiling manager for EWMH compliant WM's

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

#137 2010-05-29 05:56:29

daedhel
Member
From: Québec, Canada
Registered: 2009-01-17
Posts: 40
Website

Re: PyTyle: Manual tiling manager for EWMH compliant WM's

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

#138 2010-06-28 18:14:38

archman-cro
Member
From: Croatia
Registered: 2010-04-04
Posts: 943
Website

Re: PyTyle: Manual tiling manager for EWMH compliant WM's

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

#139 2010-06-28 18:23:55

BurntSushi
Member
From: Massachusetts
Registered: 2009-06-28
Posts: 362
Website

Re: PyTyle: Manual tiling manager for EWMH compliant WM's

archman-cro wrote:

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

#140 2010-06-29 07:42:26

archman-cro
Member
From: Croatia
Registered: 2010-04-04
Posts: 943
Website

Re: PyTyle: Manual tiling manager for EWMH compliant WM's

Cool! Thanks for answering, BurntSushi! Btw, your app rules big_smile Comes in nicely when I want FF + irssi in my sight, heehhe. big_smile

Offline

#141 2010-06-30 14:30:03

quickfished
Member
From: Hong Kong
Registered: 2009-01-06
Posts: 29

Re: PyTyle: Manual tiling manager for EWMH compliant WM's

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

#142 2010-07-16 03:50:13

nomilieu
Member
Registered: 2010-07-03
Posts: 133

Re: PyTyle: Manual tiling manager for EWMH compliant WM's

*pats back*
Pytyle is excellent. Thanks!

Offline

#143 2010-08-20 00:18:20

Mustard
Member
From: Noblesville, Indiana
Registered: 2010-03-02
Posts: 39
Website

Re: PyTyle: Manual tiling manager for EWMH compliant WM's

I've got pytyle working on my compiz standalone desktop and its become indispensable now. smile  Thanks for the great work!

Offline

#144 2010-09-12 04:44:19

BurntSushi
Member
From: Massachusetts
Registered: 2009-06-28
Posts: 362
Website

Re: PyTyle: Manual tiling manager for EWMH compliant WM's

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

#145 2010-09-12 05:14:36

kgas
Member
From: Qatar
Registered: 2008-11-08
Posts: 718

Re: PyTyle: Manual tiling manager for EWMH compliant WM's

good news, BurntSushi. Keep your good work going.

Offline

#146 2010-09-12 07:14:01

passbe
Member
Registered: 2009-03-14
Posts: 74
Website

Re: PyTyle: Manual tiling manager for EWMH compliant WM's

can't wait. sounds good.

Offline

#147 2010-09-12 07:22:38

na12
Member
From: /home/serbia
Registered: 2008-12-23
Posts: 752

Re: PyTyle: Manual tiling manager for EWMH compliant WM's

Wow,that looks so good,no need for tiling wms anymore.

Offline

#148 2010-09-20 10:13:44

SleepyFloyd
Member
Registered: 2008-06-11
Posts: 91

Re: PyTyle: Manual tiling manager for EWMH compliant WM's

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

#149 2010-09-20 11:27:48

m4co
Member
Registered: 2009-12-29
Posts: 117
Website

Re: PyTyle: Manual tiling manager for EWMH compliant WM's

BurntSushi wrote:

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

#150 2010-09-20 11:34:27

c00kiemon5ter
Member
From: Greece
Registered: 2010-06-01
Posts: 562
Website

Re: PyTyle: Manual tiling manager for EWMH compliant WM's

m4co wrote:

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

Board footer

Powered by FluxBB