Layout for GIMP. How to?
Hello I'm trying to create layout for Gimp. It's program which really asked for clever layout and otherwise not very usable. First I've tried Nathan's layout based on nested IMs [1]. However it didn't worked well. 1. There is only one window in side panels (Layers etc). If I open two dock windows one of them goes into main working area. 2. If I open two image windows and move mouse cursor to toolbox one of windows always gets in front. Observed only with Full layout. How should it work in my opinion. Screen is separated in three vertical areas. Left is for tools. Center is working area. Right for docks. Right and central area has own layouts. Center must have way to change layouts. Other ideas are welcome too. [1] http://nathanhowell.net/2009/03/08/xmonad-and-the-gimp/ -- Khudyakov Alexey
On Sun, May 31, 2009 at 02:13:11PM +0400, Khudyakov Alexey wrote:
First I've tried Nathan's layout based on nested IMs [1]. However it didn't worked well. 1. There is only one window in side panels (Layers etc). If I open two dock windows one of them goes into main working area. 2. If I open two image windows and move mouse cursor to toolbox one of windows always gets in front. Observed only with Full layout. I think this has something to do with the way focus is dealt with.
How should it work in my opinion. Screen is separated in three vertical areas. Left is for tools. Center is working area. Right for docks. Right and central area has own layouts. Center must have way to change layouts.
I use the IM layout applied twice to get the left and right columns. This does the right thing as far as being able to change the centre layout. myGimpChoices = ... (whatever layouts I want for the Centre part) myGimpIM = (reflectHoriz $ withIM (18%100) (ClassName "Gimp") $ reflectHoriz $ withIM (18%100) (ClassName "Gimp") $ myGimpChoices) I also make Gimp not float by default (by not using the default manage hook) and then make dialogue windows float, because IMHO it's better that way. , (className =? "Gimp" <&&> fmap ("color-selector" `DL.isSuffixOf`) role) --> doFloat , (className =? "Gimp" <&&> fmap ("layer-new" `DL.isSuffixOf`) role) --> doFloat , (className =? "Gimp" <&&> fmap ("-dialog" `DL.isSuffixOf`) role) --> doFloat , (className =? "Gimp" <&&> fmap ("-tool" `DL.isSuffixOf`) role) --> doFloat Kathryn Andersen -- _--_|\ | Kathryn Andersen http://www.katspace.com / \ | \_.--.*/ | GenFicCrit mailing list http://www.katspace.com/gen_fic_crit/ v | ------------| Melbourne -> Victoria -> Australia -> Southern Hemisphere Maranatha! | -> Earth -> Sol -> Milky Way Galaxy -> Universe
On Sun, 31 May 2009 14:13:11 +0400
Khudyakov Alexey
Hello
I'm trying to create layout for Gimp. It's program which really asked for clever layout and otherwise not very usable.
First I've tried Nathan's layout based on nested IMs [1]. However it didn't worked well. 1. There is only one window in side panels (Layers etc). If I open two dock windows one of them goes into main working area. 2. If I open two image windows and move mouse cursor to toolbox one of windows always gets in front. Observed only with Full layout.
How should it work in my opinion. Screen is separated in three vertical areas. Left is for tools. Center is working area. Right for docks. Right and central area has own layouts. Center must have way to change layouts.
Other ideas are welcome too.
[1] http://nathanhowell.net/2009/03/08/xmonad-and-the-gimp/ --
Hello Alexey, I use almost the same layout: ----------------------------8<--------------------------- gimpLayout = IM.withIM (0.15) (Role "gimp-toolbox") $ reflectHoriz $ IM.withIM (0.20) (Role "gimp-dock") (Mirror tiled ||| Full) where tiled = ResizableTall nmaster delta ratio [] nmaster = 1 ratio = 1/2 delta = 2/100 ----------------------------8<--------------------------- I have the same issue as you with "Full" when 2 or more image windows are open, but with "ResizableTall" everything works fine. Another issue related to focus is that the order of floating windows depends on the focus somehow, example: when I press Ctr-Shift-S to "save as" and chose the folder and file name (floating dialog) sometimes another floating window (which appear to ask for transparency level, exporting transparency etc.) pops up BEHIND the file chooser in spite of I have "doF W.swapUp" in the manageHook. So this behaviour depends on the focus at the moment I pressed Ctr-Shift-S. Cheers, Sergey
Excerpts from Khudyakov Alexey's message of Sun May 31 04:13:11 -0600 2009:
First I've tried Nathan's layout based on nested IMs [1]. However it didn't worked well. 1. There is only one window in side panels (Layers etc). If I open two dock windows one of them goes into main working area.
Check your dock 'xprop' properties match the ones IM is trying to find for the side panels. You may need to restart Gimp while tweaking this, but usually mod-shift-space is enough. Gimp seems to change class depending how it's started, too, so check xprop if something's weird after it's been working properly. Also you can combine docks into one if you have enough vertical resolution. Instructions are on wiki in Tips and Tricks > Gimp section. Basically you drag panels and tabs to different places on main toolbox.
2. If I open two image windows and move mouse cursor to toolbox one of windows always gets in front. Observed only with Full layout.
Yes, this is separate focus layer zipper issue. I use Full ||| ResizableTall ... and just mod-tab as needed when focus changes badly. Usually it's not so ugly since floats are mostly used with tiled not full. I use setup like Kathryn suggested, but one toolbox/dock, not two... and have unconsciously learned to work in a way that mostly doesn't create focus shifts. -- wmw
On Sunday 31 of May 2009 20:05:55 Wirt Wolff wrote:
2. If I open two image windows and move mouse cursor to toolbox one of windows always gets in front. Observed only with Full layout.
Yes, this is separate focus layer zipper issue. I use Full ||| ResizableTall ... and just mod-tab as needed when focus changes badly. Usually it's not so ugly since floats are mostly used with tiled not full. I use setup like Kathryn suggested, but one toolbox/dock, not two... and have unconsciously learned to work in a way that mostly doesn't create focus shifts.
Is that so? This bug manifest itself when there are no floating windows on workspace.
* Khudyakov Alexey
1. There is only one window in side panels (Layers etc). If I open two dock windows one of them goes into main working area.
XMonad.Layout.ComboP by Konstantin Sobolev should solve this problem. -- Roman I. Cheplyaka (aka Feuerbach @ IRC) http://ro-che.info/docs/xmonad.hs
On Sun, May 31, 2009 at 02:13:11PM +0400, Khudyakov Alexey wrote:
Hello
I'm trying to create layout for Gimp. It's program which really asked for clever layout and otherwise not very usable.
... agreed! so much more usable tiled.
How should it work in my opinion. Screen is separated in three vertical areas. Left is for tools. Center is working area. Right for docks. Right and central area has own layouts. Center must have way to change layouts.
Other ideas are welcome too.
I happen to have enough vertical resolution to use only one pane for tools. I'm using the same setup as sereven's config [1] basically: gimp = reflectHoriz $ named "Gimp" $ withIM (11/64) (Role "gimp-toolbox") $ ResizableTall 2 (1/118) (11/20) [5/4,5/4,5/4] This uses IM, Named and Reflect. [1] http://haskell.org/haskellwiki/Xmonad/Config_archive/sereven%27s_xmonad.hs
Could someone summarize all the useful tips and snippets in this thread and put on xmonad wiki, please? [1] If you don't have wiki account, don't hesitate to request one [2]. 1. http://www.haskell.org/haskellwiki/Xmonad/General_xmonad.hs_config_tips#Gimp 2. http://www.haskell.org/haskellwiki/HaskellWiki:New_accounts -- Roman I. Cheplyaka (aka Feuerbach @ IRC) http://ro-che.info/docs/xmonad.hs
Thanks to everyone for the replies. On Tuesday 02 of June 2009 12:44:56 Roman Cheplyaka wrote: > Could someone summarize all the useful tips and snippets in this > thread and put on xmonad wiki, please? [1] > > If you don't have wiki account, don't hesitate to request one [2]. > >1.http://www.haskell.org/haskellwiki/Xmonad/General_xmonad.hs_config_tips#Gimp > 2. http://www.haskell.org/haskellwiki/HaskellWiki:New_accounts All variants suggested so far make use of IM layout. Basic building block is > gimp = withIM (1%5) (Role "gimp-toolbox") someLayout with possible addition of reflectHoriz someLayout can be * IM > someLayout = IM.withIM (0.20) (Role "gimp-dock") (Mirror tiled ||| Full) * Column (not yet in darcs). With advice to keep all docks, docked to toolbox. > someLayout = Column. * ComboP version. > someLayout = combineTwoP (reflectHoriz $ TwoPane 0.25 0.25) > (layoutForDocks) (layoutForImages) (Role "gimp-dock") * Or something else I've finally settled on following layout: > gimp = withIM (1%5) (Role "gimp-toolbox") $ > combineTwoP (reflectHoriz $ TwoPane 0.25 0.25) > (simpleTabbed) (defaultLayout) (Role "gimp-dock") In order to make dialog windows float I added following to manage hooks: > isDialog --> doFloat
On 31 мая 2009 16:13:11 Khudyakov Alexey wrote:
Hello
I'm trying to create layout for Gimp. It's program which really asked for clever layout and otherwise not very usable.
First I've tried Nathan's layout based on nested IMs [1]. However it didn't worked well. 1. There is only one window in side panels (Layers etc). If I open two dock windows one of them goes into main working area. 2. If I open two image windows and move mouse cursor to toolbox one of windows always gets in front. Observed only with Full layout.
How should it work in my opinion. Screen is separated in three vertical areas. Left is for tools. Center is working area. Right for docks. Right and central area has own layouts. Center must have way to change layouts.
Other ideas are welcome too.
In my opinion, in most cases it's better to dock gimp docks to toolbox, to have one window for all settings and toolbox, not two. I use reflectHoriz $ withIM (1%4) ((Role "gimp-toolbox") `Or` (Title "Brush selection") `Or` (Role "toolbox_window")) column where column = Column 1.8 where Column layout is http://iportnov.ru/files/Column.hs (I did not make a darcs patch for that yet). It places all windows (all image windows, in case for Gimp and withIM) in one column, such that (height of 1st window)/(height of 2nd window) =(height of 2nd window)/(height of 3rd window) = ... = 1.8. I change that ratio with Shrink/Expand messages. WBR, Portnov.
participants (7)
-
Kathryn Andersen -
Khudyakov Alexey -
portnov -
Roman Cheplyaka -
Sean Escriva -
Sergey Manucharian -
Wirt Wolff