You are not logged in.
Pages: 1
Topic closed
Hi,
I guess I should start out by saying I'm pretty new to Linux, so I'm not experienced with all the DEs and WMs out there. I've trief (very briefly) KDE, Xfce, and Openbox, but honestly none of them really got me as excited as TWM. I've spent hours writing my own .twmrc from scratch, and I love it... unfortunately, there seem to be a few critical things things that TWM just won't do. These are listed below in descending order of importance to me:
* task-switching (alt+tabbing): I've been able to do something simple with this using f.forwiconmgr to switch focus, and I like it fine; the only problem is that I can't make it raise the windows, too. I tried a function {f.forwiconmgr f.raise}, but for some reason it would raise the CURRENT window before switching focus to the next.
* maximize (or fullzoom) on double-clicking the titlebar.
* I have one TitleButton which fullzooms on being clicked. For some reason there's an issue where after clicking it, the next click anywhere in TWM's domain will be ignore and changes the cursor to a tiny mouse icon. I have no idea why, and I haven't been able to get around it.
* fullzoom margins: I have my icon manager at the bottom of the screen and an xclock, almost like a taskbar which blends in with the background. I don't like maximized windows blocking them.
* I'd really like to be able to force certain windows to always be in the back. This is mainly because my icon manager and xclock are colored to look like they're part of the background, but I guess if the previous one is satisfied this becomes less important.
* I can't (or haven't figured out how to) make windows raise to the top when you click within them. If I write a line to f.raise when clicking in the window, then TWM consumes the click-signal and it never reaches the window. This is at the bottom because I'm already learning to live with this, and could even see myself starting to appreciate it as a feature before long.
I suppose what I'm asking for is either a solution to these issues with TWM, or suggestions for an alternative WM that will do all of these plus what I like so much about TWM. Of what I've tried, I liked Openbox the most, but having to customize it in xml and its themes kind of turned me off. At the bottom you'll find a link to a screenshot of my current TWM setup, just for some idea if what I'm getting at. I just don't know what to do! I've become very attached to TWM, but also very put off by its flaws. ![]()
Thanks!
Offline
I can't help too much, but i would say to try openbox again. It can do everything that you say twm can't. the xml CAN be a pin, but its not really that bad.
what didn't you like about the themes? they are easy to customize, and there are a ton out there (boxlook.org)
Offline
I can't help too much, but i would say to try openbox again. It can do everything that you say twm can't. the xml CAN be a pin, but its not really that bad.
what didn't you like about the themes? they are easy to customize, and there are a ton out there (boxlook.org)
This probably sounds pretty OCD, and I guess it is, but I the minimalism of TWM. I like that it already looks exactly the way I want it, and I don't have to home that somebody else has already made a theme that looks like what I want. I liked being able to customize its appearance just right entirely with code.
I suppose I should give Openbox another shot... I haven't uninstalled it yet. Thanks for the reply.
Offline
Or you could also try out FVWM. I think you would love that one.
pacman -Sy fvwm-develThe day Microsoft makes a product that doesn't suck, is the day they make a vacuum cleaner.
--------------------------------------------------------------------------------------------------------------
But if they tell you that I've lost my mind, maybe it's not gone just a little hard to find...
Offline
If the XML in OpenBox is a problem you just need a few hints because it is actually very easy.
I use gmrun with OB and I highly recommend the combination.
Some examples from my rc.conf
This brings up gmrun when I press the Start (Win) key and z together.
All you need do is change the program name and key to run something else.
<keybind key="W-z">
<action name="Execute">
<startupnotify>
<enabled>true</enabled>
<execute>gmrun</execute>
</startupnotify>
<command>gmrun</command>
</action>
</keybind>
I have three monitors. 1 and 2 identify as Monitor1 using twinview the other as monitor 2.
The three key combinations below move and resize a window to my preferred location on each of the three monitors.
<keybind key="W-w">
<action name="MoveResizeTo">
<monitor>1</monitor>
<height>1000</height>
<width>1200</width>
<x>+0</x>
<y>+0</y>
</action>
</keybind><keybind key="W-u">
<action name="MoveResizeTo">
<monitor>2</monitor>
<height>1000</height>
<width>1200</width>
<x>-0</x>
<y>+0</y>
</action>
</keybind><keybind key="W-e">
<action name="MoveResizeTo">
<monitor>1</monitor>
<height>1000</height>
<width>1600</width>
<x>-0</x>
<y>+0</y>
</action>
Once you get used to the convenience of these shortcuts you will start to appreciate the beauty and simplicity of OB.
Offline
Wow. This is the first time I've seen someone who uses TWM like this. Can you tell me how much memory it's using after being configured like this?
As far as suggestions go, also take a look at PekWM, it's similar to Openbox, maybe you'll like it more.
Last edited by Blice (2008-09-02 03:26:20)
Offline
I would also suggest fvwm to you. It is HIGHLY customizable and it has a great community that can help you with your issues (and no XML configs ;-)).
Have a look at this thread in the forums. There you can find examples of minimalistic configs that you can take as starting point for building your own.
Offline
I also use twm like you do, except without any customizations at the moment. I like the font that it's using, and the grey on green is very nice.
I like it because it uses Win3.1-style minimization, where minimized apps are draggable boxes you can put anywhere on your desktop, and not buttons confined to a bar. It took me a while (read: a few weeks) to figure out why, after having switched to twm from openbox/ttm after breaking and fixing X11, I simply loved twm: the freedom of being able to put minimized or "active" tasks anywhere I wanted on my desktop without worry of restraint just completely appealed to me, although each time there's a powercut or whatever I have to open 5 copies of Leafpad and align them at the top-left of my screen, open alsamixer (because audacious sometimes "loses" its ability to change audio volume :?) and htop and resize these, which is something of a hassle.
In addition to all the above, twm has several bugs, because of the fact that it was written around the late 80s-mid 90s:
* z-indexing issues sometimes cause dropdown menus to be shown underneath windows. Moving the mouse out of and back into a window typically resolves this.
* Window objects used as other elements that depend on the parent process' focus state to control visibilty fail badly when the mouse is over where the window would appear: for example, Firefox 3's URL box will appear and disappear as fast as it can if my mouse is in the area it wants to appear onscreen, and in Geany, when I'm typing a function name and press (, if my mouse is in the vicinity of the prototype tooltip, this will also flicker.
* In addition to the window resize box in the titlebar (I LOVE twm's resize behavior! LOVE IT!), when apps have Mac-esque resize areas in the bottom right of the screen, these will sometimes resize the window in realtime, sometimes resize the window as soon as I release the mouse button (with no indication that this will happen) and sometimes these controls won't do anything at all.
However, for all that, I love the speed of twm (especially since I couldn't be bothered to get direct rendering working with X), and especially the focus-follows-mouse behavior. Sure, it really messes up when people VNC (especially people who hate FFM
) but yeah.
I'd love a new windowmanager though: if anyone feels like writing a windowmanager, feel free to PM me using the forums or email me... I have *quite* a few ideas about how a new windowmanager should be written.
-dav7
Last edited by dav7 (2008-09-03 10:06:34)
Windows was made for looking at success from a distance through a wall of oversimplicity. Linux removes the wall, so you can just walk up to success and make it your own.
--
Reinventing the wheel is fun. You get to redefine pi.
Offline
Although I now use Evilwm, I personally think Twm is a fine window manager. I used it for years when I was on NetBSD. It had the advantage of being part of X and it was surprisingly configurable via .twmrc. The only change I would like to see made to Twm is added support for true type fonts.
Offline
Maybe VTWM does what you want?
Arch - It's something refreshing
Offline
Thanks for all the suggestions, everybody. I've started trying FVWM, and while I'm finding it a little overwhelming and its documentation on the proper syntax to be kind of... poorly organized, I have a hunch that this is exactly what I was looking for.
Wow. This is the first time I've seen someone who uses TWM like this. Can you tell me how much memory it's using after being configured like this?
This is straight from Top with about four windows showing (two separate instances... I wasn't running twm and fvwm at the same time):
VIRT RES SHR COMMAND
-----------------------
5772 2488 1612 twm
11544 3608 2972 fvwmOffline
* task-switching (alt+tabbing): I've been able to do something simple with this using f.forwiconmgr to switch focus, and I like it fine; the only problem is that I can't make it raise the windows, too. I tried a function {f.forwiconmgr f.raise}, but for some reason it would raise the CURRENT window before switching focus to the next.
i know that you already change to fvwm but i found a solution for that,
you have to use WindowRing and f.warpring. like this:
# .twmrc
WindowRing { "XTerm" "Gran Paradiso" } # common programs here
"Tab" = m :all : f.warpring "next" # alt + tab
credits to someone on dotfiles (i get my twmrc there)
Last edited by thiago907 (2008-09-06 20:38:41)
Offline
Hi All
Good old google brought me here and nice meeting you all. I use twm as my window manager (although archlinux is new to me - discovered only now!). My .twmrc is at http://earth.org.in/.twmrc .. I have given it to my wife who is not tech savvy and my 12 year old son (who is quite tech savvy!) and they all find it absolutely easy. I defined some function key bindings to make things easy and after trying all kinds of window managers I have decided that twm is the best!! I am going to convert my father-in-law (70) from windows xp to linux + twm !!
Cheers
Balaji
Offline
Sorry forgot to add .. http://earth.org.in/.xinitrc complements it somewhat.. you can install xli and get background image
Offline
I like TWM as well and am pleased to see that it got a new maintainer and some old bugs removed as of last year. I guess they call it the "timeless window manager" now as per wikipedia.
Arch is using the latest I believe.
A very nice twmrc can be seen here from our freebsd brethren:
http://81.174.174.115/twm/twmrc.htm
Once I figured out a long time ago about how to resize the windows by clicking on the upper-right icon, holding it and dragging it around, I was happy. That, and using the "delete" option instead of "kill" to get rid of program window popups like preference windows, I was all set. (using "kill" would bring down the whole program, ie preference windows in firefox.
Use "delete" instead....
Offline
I am not sure what you think of tiling window managers...but there's a boatload of those if you wanna try them out.
dwm -- you can play around with the code - to modify certain things that you don't like
musca -
xmonad
scrotwm
stumpwm
ratpoison
wmii
Offline
I want to try twm. I've used it before. Can anyone tell me how I can get my programs in the menu, however?
And please, don't just tell me to use an alternative WM, that's not what I am asking.
Offline
Can anyone tell me how I can get my programs in the menu, however?
A good page on twm is Graham's twm (if it's down try trough the google cache).
The menu is configured trough the rc file, as with any other wm, see twmrc samples on the xwinman twm page.
You need to install an RTFM interface.
Offline
A very nice twmrc can be seen here from our freebsd brethren:
Plusnet changed my IP - page is now at :-
http://212.159.115.167/twm/twmrc.htm
Regards
Graham
Offline
stream303 wrote:A very nice twmrc can be seen here from our freebsd brethren:
Plusnet changed my IP - page is now at :-
http://212.159.115.167/twm/twmrc.htm
Regards
Graham
Perhaps you should get an account at DynDNS?
Offline
No need - its a static address.
Offline
Hello!
I'm trying TWM.
It's rather interesting.
With my .twmrc, I can switch between windows pressing Alt + F3, and then Alt + F11 or F12 to select which window, and then Alt + F9 to raise it, or Alt + F10 to deiconify it.
If several windows are deiconified, I can switch pressing Alt + F1.
I made several keyboard shortcuts to start programms, to handle windows, etc…
With vdesk I have multiple desktops. I set Ctrl + F1-4 to switch to a desktop to anothers.
I made a menu with some programs I use often, but I must add some programs.
I use slim as login manager. I have the slim picture as background. It's good.
I wonder if I won't continue to use twm. It's rather nice, and well made.
Here is the .twmrc I modified:
#
# $XConsortium: system.twmrc,v 1.8 91/04/23 21:10:58 gildea Exp $
#
# A little $HOME/.twmrc by Thomas Eriksson brummelufs@hotmail.com
#
# Modified (just colors and some menu options) by Istvan Keppler keppler@lajli.gau.hu
#
# twm... the original and the best...
#
NoGrabServer
#NoDefaults
RestartPreviousState
DecorateTransients
TitleFont "-adobe-helvetica-bold-r-normal--*-120-*-*-*-*-*-*"
ResizeFont "-adobe-helvetica-bold-r-normal--*-120-*-*-*-*-*-*"
MenuFont "-adobe-helvetica-bold-r-normal--*-120-*-*-*-*-*-*"
IconFont "-adobe-helvetica-bold-r-normal--*-100-*-*-*-*-*-*"
IconManagerFont "-adobe-helvetica-bold-r-normal--*-100-*-*-*"
#ClientBorderWidth 2
BorderWidth 3
ButtonIndent 2
NoHighlight
AutoRelativeResize
#DefaultBackground
FramePadding 0
#ForceIcons
NoRaiseOnMove
OpaqueMove
Zoom 500
# This is for hiding the ugly menubar in windows who dont need em.
NoTitle
{
# "x11amp" # x11amp, the winamp lookalike, http://x11amp.ml.org.
# "xlogo" # a must have :)
"xosview"
}
Color
{
BorderColor "gray85"
DefaultBackground "black"
DefaultForeground "gray85"
TitleBackground "black"
TitleForeground "#4CD49E"
MenuBackground "black"
MenuForeground "gray85"
MenuTitleBackground "gray65"
MenuTitleForeground "black"
IconBackground "black"
IconForeground "white"
IconBorderColor "black"
IconManagerBackground "black"
IconManagerForeground "gray85"
PointerForeground "black"
PointerBackground "white"
}
#
# Define some useful functions for motion-based actions.
#
MoveDelta 1
Function "move-or-lower" { f.move f.deltastop f.lower }
Function "move-or-raise" { f.move f.deltastop f.raise }
Function "move-or-iconify" { f.move f.deltastop f.iconify }
#
# Set some useful bindings. Sort of uwm-ish, sort of
# simple-button-ish
#
Button1 = : root : f.menu "prg"
Button2 = : root : f.delete
Button3 = : root : f.menu "window"
Button1 = m : window|icon : f.function "move-or-lower"
Button2 = m : window|icon : f.iconify
Button3 = m : window|icon : f.function "move-or-raise"
Button1 = : title : f.function "move-or-raise"
Button2 = : title : f.raiselower
Button3 = : title : f.iconify
Button1 = : icon : f.function "move-or-iconify"
#Button2 = : icon : f.destroy
Button3 = : icon : f.iconify
Button1 = : iconmgr : f.iconify
Button2 = : iconmgr : f.destroy
Button3 = : iconmgr : f.iconify
"F1" = m : window : f.lower
"F3" = m : all : f.showiconmgr
"F2" = m : all : f.hideiconmgr
"F4" = s : window|icon : f.fullzoom
"F5" = m : window|icon : f.bottomzoom
"F6" = m : window|icon : f.topzoom
"F8" = m : window|icon : f.rightzoom
"F7" = m : window|icon : f.leftzoom
"F9" = m : window|icon : f.raise
"F10" = m : all : f.iconify
"F10" = s : all : f.deiconify
"F11" = m : all : f.downiconmgr
"F12" = m : all : f.upiconmgr
"F4" = m : window|icon : f.delete
"F1" = c : all : f.exec "vdesk 1 &"
"F2" = c : all : f.exec "vdesk 2 &"
"F3" = c : all : f.exec "vdesk 3 &"
"F4" = c : all : f.exec "vdesk 4 &"
"F5" = c : all : f.exec "sakura &"
"F6" = c : all : f.exec "thunar &"
"F7" = c : all : f.exec "icecat &"
"F8" = c : all : f.exec "sylpheed &"
"F9" = c : all : f.exec "gimp &"
"F10" = c : all : f.exec "libreoffice &"
"F11" = c : all : f.exec "scribus &"
"F12" = c : all : f.exec "xclock &"
# This is for the window bar
#LeftTitleButton "/usr/X11/include/bitmaps/checkmark.xbm" = f.delete
#LeftTitleButton "/usr/X11R6/include/X11/bitmaps/xm_noenter16" = f.delete
#RightTitleButton "/usr/X11/include/bitmaps/menu12" = f.resize
IconDirectory "/home/admin/.twm/icons" # Directory for non default icons
RightTitleButton "maximize.xbm"=f.fullzoom
RightTitleButton "close.xbm"=f.delete
#
# And a menus with the usual things
#
menu "prg"
{
"Menu" f.title
#"" f.nop
"Xterm" f.exec "xterm -sl 255 -bg black -fg white -name xterm@twm.org &"
#"Midc" f.exec "xterm -sl 255 -bg black -fg white -e midc -b &"
#"Netscape" f.exec "netscape &"
#"Xosview" f.exec "xosview &"
"" f.nop
"Fichiers" f.menu "fichiers"
"Editeurs" f.menu "editeurs"
"Internet" f.menu "internet"
"Bureautique" f.menu "bureautique"
"Graphisme" f.menu "graphisme"
"Visionneurs" f.menu "visionneurs"
"Musique" f.menu "musique"
"Jeux" f.menu "jeux"
"Utilitaires" f.menu "utilitaires"
"Systeme" f.menu "systeme"
"Eteindre/Redémarrer" f.menu "etredemarrer"
}
menu "etredemarrer"
{
"Eteindre/Redémarrer" f.title
"Eteindre" f.exec "gksu xterm halt &"
"Redemarrer" f.exec "gksu xterm reboot &"
}
menu "fichiers"
{
"Files" f.title
".twmrc" f.exec "medit .twmrc &"
".xinitrc" f.exec "medit .xinitrc &"
}
menu "bureautique"
{
"Bureautique" f.title
"Libre Office" f.exec "libreoffice &"
"scribus" f.exec "scribus &"
"gnumeric" f.exec "gnumeric &"
}
menu "editeurs"
{
"Editeurs" f.title
"Mcedit" f.exec "xterm mcedit &"
"nano" f.exec "xterm nano &"
"medit" f.exec "medit &"
}
menu "systeme"
{
"Systeme" f.title
"Htop" f.exec "xterm htop &"
"Top" f.exec "xterm -bg black -fg white -e top &"
"gparted" f.exec "gksu gparted &"
"/usr/bin" f.exec "thunar /usr/bin &"
"/etc/rc.conf" f.exec "gksu medit /etc/rc.conf &"
"testdisk" f.exec "gksu xterm photorec &"
"Source /etc/pacman.d/mirrorlist" f.exec "gksu medit /etc/pacman.d/mirrorlist &"
}
menu "visionneurs"
{
"Visionneurs" f.title
"epdfview" f.exec "epdfview &"
"geeqie" f.exec "geeqie &"
"mupdf" f.exec "xterm mupdf &"
}
menu "internet"
{
"Internet" f.title
"icecat" f.exec "icecat &"
"midori" f.exec "midori &"
"elinks" f.exec "xterm elinks &"
"w3m" f.exec "xterm w3m http://www.scroogle.fr &"
"netrik" f.exec "netrik http://www.scroogle.fr &"
"Lynx" f.exec "xterm -bg black -fg white -e lynx &"
"sylpheed" f.exec "sylpheed &"
"skype" f.exec "skype &"
"icecat" f.exec "icecat &"
"deluge" f.exec "deluge &"
}
menu "ppp"
{
"PPP" f.title
"Linkup" f.exec "pppd &"
"Hang up" f.exec "ppp-off &"
}
menu "graphisme"
{
"Graphisme" f.title
"inkscape" f.exec "inkscape &"
"Gimp" f.exec "gimp &"
}
menu "musique"
{
"Music" f.title
"CdPlayer" f.exec "xterm -bg black -fg white -e cd-console &"
"Mp3Blaster" f.exec "xterm -bg black -fg white -e mp3blaster &"
"RealPlayer" f.exec "/usr/home/keppler/RealPlayer8/realplay &"
"Xmovie" f.exec "xmovie &"
#"X11amp" f.exec "x11amp &"
#"Workman" f.exec "workman &"
"vlc" f.exec "vlc &"
}
menu "jeux"
{
"Games" f.title
"Xboard" f.exec "xboard -rv &"
}
menu "utilitaires"
{
"Utilitaires" f.title
"Corbeille" f.exec "thunar trash:/// &"
"Thunar" f.exec "thunar &"
"Xcalc" f.exec "xcalc &"
"alsamixer" f.exec "alsamixer &"
"terminal Sakura" f.exec "sakura &"
"calc" f.exec "xterm calc &"
"qalculate" f.exec "qalculate-gtk &"
"truecrypt" f.exec "truecrypt &"
"scrot" f.exec "xterm scrot -d 20 &"
"xarchiver" f.exec "xarchiver &"
"xclock" f.exec "xclock &"
}
menu "window"
{
"Menu twm" f.title
"forcer à quitter" f.destroy
"Delete Window" f.delete
"" f.nop
"Maximize" f.fullzoom
"Minimize" f.iconify
#"Resize" f.resize
"Move" f.move
#"Raise" f.raise
#"Lower" f.lower
"" f.nop
"Focus" f.focus
"Unfocus" f.unfocus
"Show Iconmgr" f.showiconmgr
"Hide Iconmgr" f.hideiconmgr
"" f.nop
"Screensaver" f.menu "screensaver"
"Redraw" f.refresh
"Restart" f.restart
"Quit" f.menu "quit"
}
menu "quit"
{
"Really Quit?" f.title
"No" f.nop
"Yes" f.quit
}
menu "screensaver"
{
"ZZzz..." f.title
"Laser" f.exec "xlock -nolock -mode laser &"
"Qix" f.exec "xlock -nolock -mode qix &"
"Star trek" f.exec "xlock -nolock -mode star &"
"Galaxy" f.exec "xlock -nolock -mode galaxy -wireframe&"
"Pyrotechnical" f.exec "xlock -nolock -mode pyro -wireframe &"
"Swarm" f.exec "xlock -nolock -mode swarm &"
"Linux" f.exec "xlock -nolock -mode flag &"
}
Icons
{
"XTerm" "/usr/X11R6/include/X11/bitmaps/Term"
"x11amp" "/usr/include/X11/bitmaps/xfm_au.xbm"
}
Cursors
{
Frame "left_ptr"
Title "left_ptr"
Icon "left_ptr"
IconMgr "left_ptr"
Move "fleur"
Resize "fleur"
Menu "hand1"
Button "hand2"
Wait "clock"
Select "dot"
Destroy "pirate"
}I'm against internet totalitarians of any kind.
And like cheese's humor.
Offline
TWM is just useful, without bells and whistles.
The only thing.
I want to have a menu reachable with a keyboard shortcut.
The line:
"F1" = s : all : f.menu "prg"doesn't work.
I'm trying several solutions.
I'm against internet totalitarians of any kind.
And like cheese's humor.
Offline
I succeded!
Button3 = c : all : f.menu "prg"With this code in the .twmrc, when clicking Ctrl + right click, I have a prg menu that appears everywhere!
I'm against internet totalitarians of any kind.
And like cheese's humor.
Offline
Please don't necrobump threads.
https://wiki.archlinux.org/index.php/Fo … Bumping.27
Also, do not keep posting consecutively in the same thread. Use the Edit functionality.
closing....
Offline
Pages: 1
Topic closed