From 547f1550666700a087acb13f1cc3ef010bbb78fc Mon Sep 17 00:00:00 2001 From: Marc Vertes Date: Sat, 15 May 2021 18:11:23 +0200 Subject: fvwm is back --- .Xresources | 9 +- .config/i3/config | 1 + .fvwm2rc | 340 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ .xinitrc | 4 +- .xsession | 4 +- bin/wol | 6 + bin/xt | 1 + 7 files changed, 357 insertions(+), 8 deletions(-) create mode 100644 .fvwm2rc create mode 100755 bin/wol diff --git a/.Xresources b/.Xresources index b1c3e3d..7ca66a3 100644 --- a/.Xresources +++ b/.Xresources @@ -7,9 +7,10 @@ URxvt.colorBD: blue3 URxvt.colorUL: magenta3 URxvt.cursorColor: red ! URxvt.color12: rgb:5c/5c/ff -!URxvt.font: xft:Mono:size=12 -!URxvt.letterSpace: -1 Urxvt.font: 6x13 +!URxvt.font: xft:Mono:size=12 +!URxvt.font: xft:Mono:size=10 +URxvt.letterSpace: -1 URxvt.perl-ext-common: font-size URxvt.keysym.C-Prior: font-size:increase URxvt.keysym.C-Next: font-size:decrease @@ -20,8 +21,8 @@ xterm*termName: xterm-256color xterm*VT100.Translations: #override \ Ctrl Next: smaller-vt-font() \n\ Ctrl Prior: larger-vt-font() \n -xterm*faceName: DejaVu Sans Mono -xterm*faceSize: 10 +!xterm*faceName: DejaVu Sans Mono +!xterm*faceSize: 10 ! xterm*font: 7x14 ! Allow sixel graphics. (Try: "convert -colors 16 foo.jpg sixel:-"). xterm*decTerminalID: vt340 diff --git a/.config/i3/config b/.config/i3/config index 48c461c..a1de2b3 100644 --- a/.config/i3/config +++ b/.config/i3/config @@ -87,6 +87,7 @@ for_window [class="vlc"] floating enable for_window [instance="wish"] floating enable for_window [class="wpa_gui"] floating enable for_window [class="XVroot"] floating enable +#for_window [class="XTerm"] floating enable for_window [class="zoom"] floating enable bindsym button3 floating toggle diff --git a/.fvwm2rc b/.fvwm2rc new file mode 100644 index 0000000..fac2b23 --- /dev/null +++ b/.fvwm2rc @@ -0,0 +1,340 @@ +HilightColor black IndianRed +WindowFont fixed +IconFont fixed +MenuStyle black grey76 grey30 fixed fvwm +IgnoreModifiers 2 + +#Style "*" SloppyFocus +Style "*" MouseFocusClickRaises +Style "*" ForeColor black +Style "*" BackColor SteelBlue +Style "*" IconBox 800x64+0-0 +Style "*" MWMFunctions, MWMButtons, MWMBorder, MWMDecor, DecorateTransient, StickyIcon +Style "*" RandomPlacement + +OpaqueMoveSize 0 +#EdgeScroll 100 100 +#EdgeScroll 100000 100000 +EdgeScroll 0 0 +EdgeResistance 100000 100000 +#style "*" EdgeMoveResistance 100000 100 + +DeskTopSize 2x2 + +#ImagePath /usr/X11R6/include/X11/pixmaps/ +#ImagePath /usr/share/pixmaps/ + +Style "*" BorderWidth 4, HandleWidth 4 +Style "Fvwm*" NoTitle, Sticky, WindowListSkip +Style "*Pager" NoHandles, BorderWidth 0, WindowListSkip, CirculateSkip +Style "FvwmBanner" StaysOnTop +Style "FvwmButtons" NoTitle, NoHandles, Sticky, WindowListSkip,BorderWidth 4 +Style "*lock" NoTitle, NoHandles, WindowListSkip +Style "gkrellm" NoTitle, Sticky, WindowListSkip, CirculateSkip +#Style "*unknown*" NoTitle, BorderWidth 0, NoHandles, WindowListSkip + +#Style "rxvt" Icon Monitor.xpm +#Style "xterm" Icon Monitor.xpm +#Style "uxterm" Icon Monitor.xpm + +#========================================================================# +# Stuff to do at start-up +# + +AddToFunc "StartFunction" ++ "I" Module FvwmPager 0 0 ++ "I" Exec dunst +#+ "I" Exec xsetroot -solid rgb:3/4/5 +#+ "I" Exec setxkbmap fr +#+ "I" Exec synclient VertScrollDelta=-114 + +#========================================================================# +# Now define some handy complex functions +# +AddToFunc "Move-or-Raise" "M" Move ++ "M" Raise ++ "C" Raise ++ "D" Maximize 100 100 + +AddToFunc "Move-or-Lower" "M" Move ++ "M" Lower ++ "C" Lower ++ "D" RaiseLower + +AddToFunc "Move-or-Iconify" "M" Move ++ "D" Iconify + +AddToFunc "Resize-or-Raise" "M" Resize ++ "M" Raise ++ "C" Raise ++ "D" RaiseLower + +AddToFunc "Focus-and-Raise" I Focus ++ I Iconify false ++ I Raise ++ I WarpToWindow 50 8p + +#========================================================================# +DestroyMenu "Quit-Verify" +AddToMenu "Quit-Verify" +#+ "&Lock screen" Exec exec vlock -an ++ "&Fvwm restart" Restart +#+ "&Lock screen" Exec exec slock sudo sh -c "echo mem > /sys/power/state" ++ "&Quit X11" Quit ++ "&Suspend" Exec exec slock sudo sh -c "echo mem > /sys/power/state" +#+ "&Suspend" Exec exec suspend ++ "&Reboot" Exec exec sudo /sbin/reboot ++ "&Power off" Exec exec sudo /sbin/poweroff + +DestroyMenu "Module-Popup" +AddToMenu "Module-Popup" ++ "Debug" Module FvwmDebug ++ "Identify" Module FvwmIdent ++ "Window List" Module FvwmWinList + +DestroyMenu "Desktop-Apps" +AddToMenu "Desktop-Apps" ++ "&Brave" Exec exec brave ++ "&Chromium" Exec exec chromium ++ "&Discord" Exec exec discord ++ "&Firefox" Exec exec firefox ++ "&LibreOffice" Exec exec libreoffice ++ "&Keybase" Exec exec keybase-gui ++ "S&ignal" Exec exec signal-desktop ++ "&Slack" Exec exec slack ++ "&Zoom" Exec exec zoom + +DestroyMenu "Settings" +AddToMenu "Settings" ++ "&Display" Exec exec arandr ++ "&Keyboard" Exec exec setxkbmap fr ++ "&Power" Exec exec sudo xt -e powertop ++ "&Sound" Exec exec pavucontrol ++ "&Wifi" Exec exec sudo wpa_gui -i wlo1 + +DestroyMenu "Multimedia" +AddToMenu "Multimedia" ++ "&Geeqie" Exec exec geeqie ++ "&Molotov" Exec exec molotov ++ "&Spotify" Exec exec spotify ++ "&Vlc" Exec exec vlc + +DestroyMenu "Utilities" +AddToMenu "Utilities" +#+ "&Xterm" Exec exec uxterm -sl 500 -j -ls -cr red +#+ "&Top" Exec exec uxterm -T Top -n Top -e top +#+ "&Xterm" Exec exec urxvtc +sb -sl 500 -j -ls -cr red ++ "&Xterm" Exec exec xt ++ "&Black Xterm" Exec exec bxt ++ "&Top" Exec exec xt -T Top -n Top -e /bin/top ++ "&Web" Exec exec chromium --disk-cache-dir=/tmp/chromium-cache +#+ "&Web" Exec exec brave +#+ "&Firefox" Exec exec firefox +#+ "&Chromium" Exec exec chromium --disk-cache-dir=/tmp/chromium-cache ++ "&Mail" Exec exec thunderbird +#+ "xclipboard" Exec exec xclipboard +#+ "" Nop ++ "" Nop ++ "&System" Popup Settings ++ "&Desktop" Popup Desktop-Apps ++ "M&ultimedia" Popup Multimedia ++ "ssh bip" Exec exec uxterm -j -sl 500 -cr red -e mosh bip +#+ "ssh dev.ugrid.net" Exec exec uxterm -j -sl 500 -cr red -e ssh dev.ugrid.net ++ "" Nop ++ "&Quit" Popup Quit-Verify + +# Define the most common window operations +DestroyMenu "Window Ops" +AddToMenu "Window Ops" ++ "&Move Alt+F5" Function Move-or-Raise ++ "&Resize Alt+F6" Function Resize-or-Raise ++ "R&aise" Raise ++ "&Lower" Lower ++ "(De)Iconify" Iconify ++ "(Un)Stick" Stick ++ "(Un)Maximize Alt+F12" Function maximize_func ++ "" Nop ++ "&Kill" Destroy ++ "&Close" Delete ++ "" Nop ++ "Switch to..." WindowList ++ "Refresh Screen" Refresh + +# +# A trimmed down version of "Window Ops", good for binding to decorations +# +AddToMenu "Window-Ops2" "&Move Alt+F5" Move-or-Raise ++ "&Size Alt+F6" Resize-or-Raise ++ "Mi&nimize Alt+F4" Iconify 1 ++ "&Horizontal Max Alt+F10" Maximize 100 0 ++ "&Vertical Max Alt+F11" Maximize 0 100 ++ "Ma&ximize Alt+F12" Maximize 100 100 ++ "" Nop ++ "&Kill" Destroy ++ "&Close" Delete + +#========================================================================# +# +# One more complex function - couldn't be defined earlier because it used +# pop-up menus +# +# This creates the "system" menu for the title-bar window-ops +# pop-up +# +AddToFunc "window_ops_func" "C" PopUp Window-Ops2 ++ "M" PopUp Window-Ops2 ++ "D" Delete + +#========================================================================# +# +# Mouse bindings +# + +# First, for the mouse in the root window +# Button 1 gives the Utilities menu +# Button 2 gives the Window Ops menu +# Button 3 gives the WindowList (like TwmWindows) +# I use the AnyModifier (A) option for the modifier field, so you can hold down +# any shift-control-whatever combination you want! + +# Button Context Modifi Function +Mouse 1 R A Menu "Utilities" Nop +Mouse 2 R A Menu "Window Ops" Nop +Mouse 3 R A WindowList + +# Now the title bar buttons +# Any button in the left title-bar button gives the window ops menu +# Any button in the first right title-bar button Iconifies the window +# Any button in the second title-bar button full-maximizes +# Note the use of "Mouse 0" for AnyButton. + +# Button Context Modif Function +Mouse 0 1 A Function "window_ops_func" +Mouse 0 2 A Maximize 100 100 +Mouse 0 4 A Iconify + +# Now the rest of the frame +# Here I invoke my complex functions for Move-or-lower, Move-or-raise, +# and Resize-or-Raise. +# +# Button 1 in the corner/sides pieces, with any modifiers, gives resize or raise +Mouse 1 FS A Function "Resize-or-Raise" +# Button 1 in the title, or icon, w/ any modifiers, gives move or raise +Mouse 1 T A Function "Move-or-Raise" + +# Button 1 in an icons gives move for a drag, de-iconify for a double-click, +# nothing for a single click +# Button 2 in an icon, w/ any modifiers, gives de-iconify +Mouse 1 I A Function "Move-or-Iconify" +Mouse 2 I A Iconify + +# Button 2 in the corners, sides, or title-bar gives the window ops menu +Mouse 2 FST A Function "window_ops_func" + +# Button 3 anywhere in the decoration (except the title-bar buttons) +# does a raise-lower +Mouse 3 TSIF A RaiseLower + +# Button 3 in the window, with the Modifier-1 key (usually alt or diamond) +# gives Raise-Lower. Used to use control here, but that interferes with xterm +Mouse 3 W M RaiseLower + +#========================================================================# +# Now some keyboard shortcuts. +# Arrow Keys, wrap mode enabled +# press arrow + control anywhere, and scroll by 1 page +Key Left A C Scroll -100000 0 +Key Right A C Scroll +100000 +0 +Key Up A C Scroll +0 -100000 +Key Down A C Scroll +0 +100000 + +#Key Left A C Scroll -100 0 +#Key Right A C Scroll +100 +0 +#Key Up A C Scroll +0 -100 +#Key Down A C Scroll +0 +100 +# +# press arrow + meta key, and scroll by 1/10 of a page +#Key Left A M Scroll -10 +0 +#Key Right A M Scroll +10 +0 +#Key Up A M Scroll +0 -10 +#Key Down A M Scroll +0 +10 + +# press shift arrow + control anywhere, and move the pointer by 1% of a page +Key Left A SC CursorMove -1 0 +Key Right A SC CursorMove +1 +0 +Key Up A SC CursorMove +0 -1 +Key Down A SC CursorMove +0 +1 + +# press shift arrow + meta key, and move the pointer by 1/10 of a page +Key Left A SM CursorMove -10 +0 +Key Right A SM CursorMove +10 +0 +Key Up A SM CursorMove +0 -10 +Key Down A SM CursorMove +0 +10 + +# Keyboard accelerators +Key Super_L A A Popup "Utilities" +Key F1 A M Popup "Utilities" +Key F2 A M Popup "Window Ops" +Key F3 A M Module "WindowList" FvwmWinList +Key F4 A M Iconify +Key F5 A M Move +Key F6 A M Resize +Key F7 A M RaiseLower +#Key F8 A M Exec exec xbacklight +10 +Key F9 A M Close +Key F10 A M Maximize 100 0 +Key F11 A M Maximize 0 100 +Key F12 A M Maximize + +#Key XF86MonBrightnessDown A A Exec exec xbacklight -10 +#Key XF86MonBrightnessUp A A Exec exec xbacklight +10 +Key XF86AudioRaiseVolume A A Exec exec amixer set Master 5%+ +Key XF86AudioLowerVolume A A Exec exec amixer set Master 5%- +Key XF86AudioMute A A Exec exec amixer set Master toggle + +#Page Up/Dapge Down keys are used to scroll by one desktop page +# in any context, press page up/down + control +# in root context, just pressing page up/down is OK +# +# I prefer the non-wrapping scroll. These are for example purposes only +#Key Next A C Scroll 100000 0 +#Key Next R N Scroll 100000 0 +#Key Prior A C Scroll -100000 0 +#Key Prior R N Scroll -100000 0 + +#Key Tab A M Prev Focus +#Key Tab A MS Next Focus +Key Tab A M Prev Focus-and-Raise +Key Tab A MS Next Focus-and-Raise + +Key Escape A C WindowList + + +#========================================================================# + +# Definitions used by the modules + +#------------------ Pager +*FvwmPagerBack grey60 +*FvwmPagerFore black +#*FvwmPagerFont -adobe-helvetica-bold-r-*-*-10-*-*-*-*-*-*-* +*FvwmPagerFont fixed +*FvwmPagerHilight #c3c3c3 +*FvwmPagerGeometry 80x60-1-1 +*FvwmPagerLabel 0 "swift" +*FvwmPagerSmallFont 5x8 + +#------------------ Identify +*FvwmIdentBack #000080 +*FvwmIdentFore Yellow +*FvwmIdentFont -adobe-helvetica-medium-r-*-*-12-*-*-*-*-*-*-* + +#------------------ FvwmWinList +*FvwmWinListBack #c3c3c3 +*FvwmWinListFore Black +*FvwmWinListFont -adobe-helvetica-bold-r-*-*-10-*-*-*-*-*-*-* +*FvwmWinListAction Click1 Iconify -1,Focus +*FvwmWinListAction Click2 Iconify +*FvwmWinListAction Click3 Module "FvwmIdent" FvwmIdent +*FvwmWinListUseSkipList +*FvwmWinListGeometry +0-1 diff --git a/.xinitrc b/.xinitrc index f982ca7..92f75e1 100644 --- a/.xinitrc +++ b/.xinitrc @@ -20,5 +20,5 @@ xsetroot -solid rgb:1/3/4 #slock # Start window manager -#exec fvwm -exec i3 +exec fvwm +#exec i3 diff --git a/.xsession b/.xsession index f982ca7..92f75e1 100755 --- a/.xsession +++ b/.xsession @@ -20,5 +20,5 @@ xsetroot -solid rgb:1/3/4 #slock # Start window manager -#exec fvwm -exec i3 +exec fvwm +#exec i3 diff --git a/bin/wol b/bin/wol new file mode 100755 index 0000000..146e46a --- /dev/null +++ b/bin/wol @@ -0,0 +1,6 @@ +#!/bin/sh -x +ip_plex=192.168.1.90 mac_plex=b0:83:fe:61:a7:aa +eval "mac=\$mac_$1 ip=\$ip_$1" +wakeonlan "$mac" +#ping -o "$ip" +ssh "root@$ip" diff --git a/bin/xt b/bin/xt index 71b92d3..f14954c 100755 --- a/bin/xt +++ b/bin/xt @@ -1,4 +1,5 @@ #!/bin/sh exec xterm -sl 500 -j -cr red "$@" & #cmd="urxvtc ${@:--T $HOSTNAME}" +#cmd="urxvtc $@" #eval "$cmd" || { [ $? = 2 ] && urxvtd -q -o -f && eval "$cmd"; } -- cgit v1.2.3