IceWM Keyboard shortcuts

Forum Forums antiX-development Development IceWM Keyboard shortcuts

This topic contains 65 replies, has 5 voices, and was last updated by BobC Mar 3-6:57 pm.

Viewing 15 posts - 1 through 15 (of 66 total)
  • Author
    Posts
  • #15047
    Member
    Avatar
    BobC

    I posted a list of all the shortcuts from keys and preferences with which works or not in the “improvements” thread.

    So far no one has said its an issue with just my machines (I tried them on 2 different brand laptop keyboards and external USB standard keyboards on fresh 17.3.1 installs)

    I do have a working set of keyboard shortcuts that provide nice functionality based on what keys do work

    I can post that here for comment if you like.

    #15073
    Member
    Avatar
    skidoo

    I found “VolumeDown” not working.
    Fixed by inserting a space after the tailend minus sign

    key “Alt+Ctrl+KP_Divide” amixer -c 0 set Master 5- # lower volume

    Noted: NumLock must be off for the “Set Volume” keybinds to work, but I found NumLock=On is set when I logged in to desktop session (dunno whether that’s the default behavior or something I’ve set).

    key “Alt+Ctrl+KP_Add” amixer sset Master toggle # mute on/off

    Does not work.
    Noted: Right-clicking the VolumeIcon tray icon }} Preferences }} HotKeys, mute is assigned to XF86AudioMute.
    I don’t have a multimedia kb & have no idea which, if any, of the keys on this “generic 101-key keyboard” is mapped to XF86AudioMute.

    The same VolumeIcon prefs would be recognized across WMs, right? Maybe those (VolumeIcon prefs) should/must be set to same keycombos specified in the “keys” config file for each of the WMs? Wait, the VolumeIcon audio hotkeys are not “checkmarked” by default, so would just be ignored?

    BobC, I am TERRIBLE at using|memorizing proprietary (*cough*, custom) desktop session global kb shortcuts.
    right-click VolumeIcon, choose OpenMixer.
    whyWHYwhy does pressing Ctrl+Shift_KP_Divide (with NumLock=Off) cause the window to close?
    set NumLock=On and repeat. Oh, now that keybind causes alsamixer to invite changing “Select File”.
    Test Ctrl+Shift_KP_Divide (with NumLock=Off, and again On) while leafpad window has focus. No effect.
    alsamixer. Press F2, read help. Does it mention Ctrl+Shift_KP_Divide? Nope.
    This tiny experiment reminds/reinforces my impression that “shortycuts” are too maddeningly inconsistent for me to wrestle with.

    ——————-

    FWIW, in my iceWM key file, I found all entries other than wingrid and audio-related are outcommented.
    I can’t recall whether that is/was the default.
    Okay, uncommenting all the “suggested” and “example” entries to test them.
    (here, I re-discover that iceWM lacks the ‘Reconfigure’ command of fluxbox, so must logout/login for changes to take effect after editing “keys” file) (instead, I cheated, restarted iceWM by using OtherDesktops}fluxbox ..then OtherDesktops}iceWM)

    Among the “Suggested”,
    I attempt to entirely avoid “desktop-defaults-run”, preferring to launch a specific “best tool for the job” on a case-by-case basis, but for sake of testing…

    Alt+F2 works (yah, I do frequently use that one, in fluxbox session)
    next 2 in the list work, then “Ctrl+Shift+t”. Well, it tries to do SOMETHING (dunno what. I didn’t see a new process in htop afterward.)
    The remainder of the “Suggested” entries still (I last tested these during antiX17 betatesting) do work.
    No, I don’t agree, wouldn’t “suggest” a sysadmin enable these ~~ especially not “xkill” nor “Surprise! desktop-session-exit”.
    “Ctrl+Alt+a” desktop-defaults-run -a
    ^—- I’m also reminded that, in the absence of inline explanatory comments, user has no idea (g’head, enable it and find out?) what these are/do

    The “example” entries (are accompanied by explanatory comments, yay!) are mostly redundant with the “suggested” entries. All of these still work, per my testing today.

    #15081
    Member
    Avatar
    skidoo

    I’ll mention a couple points of wingrid “weirdness” I discovered during testing. First, after using the “maximize” keybind, the window titlebar restore/maximize button failed to have an effect (unless/until you close and relaunch the program running in the affected window). Second, after using the “arrange top” (?) keybind, the window became stuck-to-top-edge (dragging titlebar downward had no effect).

    https://www.antixforum.com/forums/topic/improvements-and-looks/page/3/#post-14919from Preferences
    does nothing – KeyWinArrangeN=”Ctrl+Alt+KP_8″
    does nothing – KeyWinArrangeNE=”Ctrl+Alt+KP_9″

    Wha? Where are N, SW, NE keybinds? Not seen in my ~/.icewm/keys file

    doesn’t move the window, same as without shift – KeySysWorkspacePrevTakeWin=”Alt+Ctrl+Shift+Left”
    doesn’t move the window, same as without shift – KeySysWorkspaceNextTakeWin=”Alt+Ctrl+Shift+Right”
    doesn’t move the window, same as without shift – KeySysWorkspaceLastTakeWin=”Alt+Ctrl+Shift+Down”

    Aha, you’re referring to content of ~/.icewm/preferences

    Yeah, defaults mismatched vs docs vs manpages… vs actual code in the current version. I wrestled with same when revamping fluxbox.
    antiX using icewm, as maintained by bbidulock, and
    KeySysWorkspacePrevTakeWin is (still) mentioned in those pod|documentation, but seems to be absent from the code (so no-op)

    Probably the best hope for (eventually) resolving the no-ops you found would be to open an issue ticket at https://github.com/bbidulock/icewm/issues

    #15083
    Member
    Avatar
    BobC

    skidoo, I think we are in agreement that the keys we have set that are live by default should at least work?

    I saw other distros had the sound control keys mapped using the X names rather than to specific keys, but I only own one keyboard with those keys and would have to risk life and limb to steal my wife’s keyboard. Sadly, she probably never uses those keys.

    I would be fine with removing the ones that don’t work, since if they don’t work anyway, there really isn’t much point, and worse, because they are mapped, any attempt at parsing the mappings will produce wrong information of keys that don’t function as expected, which is what happened to me… Just imagine if we could edit a list, like IceSound, or better yet, parse them to load data for a graphical remap program that would show a picture like representation of the keyboard and light up the special functions as you pressed the modifier keys, and allow you to go edit those mappings, and save the changed map, generating new keys and preferences… But no degree of coolness has any hope of ever working if the defaults don’t actually function.

    Are you saying that restarting IceWM doesn’t work for changing IceWM key mappings? If true, I should retest changes that I didn’t think worked.

    The ones that really frustrated me were the ones to move, cascade, tile and arrange windows. Or maybe I didn’t understand what they were supposed to do.

    The WinGrid ones did work, thankfully.

    I came up with a pretty good layout, in general. One thing I would like would be a Center/partial zoom window, that would take it from 1/4 screen size, and instead move it to center, bring it to front, and increase the size to 2/3 or 3/4 of the screen, and be able to toggle it back to its corner, or maximize to full screen. I was looking at the WinGrid code and came to the conclusion that its pretty doable. I had created that once before for my Brief Editor under DOS as a macro there once upon a time, and loved it.

    I will reply more later… Yes, I didn’t know that page was now the real IceWM, and I also see there is a newer version there…

    PS: On maximize, I don’t think its a good idea to use 2 different maximize systems, and would not use the WinGrid one.

    As for the NoOps as you call them, I didn’t know they were missing from the code. Perhaps a Wingrid mover could be created if none of those can be made to work, if its actually important to have those functions. I think its fine to just use the Window menu’s move option, myself, but don’t like having the keys assigned if they aren’t going to perform the expected functions, or worse, will do something unexpected.

    • This reply was modified 4 months, 2 weeks ago by BobC.
    • This reply was modified 4 months, 2 weeks ago by BobC.
    • This reply was modified 4 months, 2 weeks ago by BobC.
    • This reply was modified 4 months, 2 weeks ago by BobC.
    #15096
    Member
    Avatar
    BobC

    Ok, I created a new WinGrid option called centerzoom, filename /usr/local/bin/wingrid-centerzoom.sh and it works on Ctrl+Alt+Keypad 5 with numlock off (called KP_Begin). Try holding down Ctrl+Alt and going around the numeric pad slowly in sequence 12369874151 to get a feel for how it works

    Here are my entries in ~/.icewm/keys for wingrid and volume controls

    ### Wingrid 
    key "Ctrl+Alt+KP_Left" wingrid-left.sh
    key "Ctrl+Alt+KP_Right" wingrid-right.sh
    key "Ctrl+Alt+KP_Up" wingrid-top.sh
    key "Ctrl+Alt+KP_Down" wingrid-bottom.sh
    key "Ctrl+Alt+KP_Home" wingrid-topleft.sh
    key "Ctrl+Alt+KP_Prior" wingrid-topright.sh
    key "Ctrl+Alt+KP_End" wingrid-bottomleft.sh
    key "Ctrl+Alt+KP_Next" wingrid-bottomright.sh
    ####key "Ctrl+Alt+KP_Insert" wingrid-maximize.sh
    key "Ctrl+Alt+KP_Begin" wingrid-centerzoom.sh
    ####key "Ctrl+Alt+KP_Subtract" wingrid-close.sh
    ###
    ###Set Volume
    key "Ctrl+Alt+Num_Lock" amixer sset Master toggle # KP NumLock Mute
    key "Ctrl+Alt+KP_Divide" amixer -c 0 set Master 5- # KP / Volume -5%
    key "Ctrl+Alt+KP_Multiply" amixer -c 0 set Master 5+ # KP * Volume +5%
    

    Here is the code for /usr/local/bin/wingrid-centerzoom.sh give it a try

    #!/bin/sh
    
    PROGNAME=${0##*/}
    PROGVERSION="1.1"
    
    # --------------------
    # Help and Information
    # --------------------
    
    # When requested show information about script
    if [ "$1" = '-h' ] || [ "$1" = '--help' ]; then
    cat << end-of-messageblock
    
    $PROGNAME version $PROGVERSION
    Places the active window into a predetermined position and size on screen.
    
    Usage: 
       $PROGNAME
    
    Options:
       -h, --help     Show this output
    
    Summary:
       The screen is notionally divided into 4 rectangles in a 2x2 grid.
       Each window may occupy any 1, any 2 adjacent, or all 4 rectangles.
    
       Launching is normally done using the keyboard via a combined key press.
       The combination of keys are assigned by the system window manager and can 
       be reassigned if desired.  
    
       Optional configuration items are available in
       /home/USERNAME/.config/wingrid/wingrid.conf
    
       Requires:
          awk, wmctrl, xdpyinfo, yad
    
       See also:
          wingrid-bottom.sh
          wingrid-bottomleft.sh
          wingrid-bottomright.sh
          wingrid-left.sh
          wingrid-right.sh
          wingrid-top.sh
          wingrid-topleft.sh
          wingrid-topright.sh
          wingrid-maximize.sh
          wingrid-close.sh
    
    end-of-messageblock
       exit 0
    fi
    
    # --------------------------
    # User Configurable Settings
    # --------------------------
    
    # Location of the user configurable settings file
    CONFIGFILE="$HOME/.config/wingrid/wingrid.conf"
    
    # Obtain the user specifiable configuration
    if [ -f $CONFIGFILE ]; then
       . $CONFIGFILE
    
       else
    
       # Display an error message and exit
       ERRMSG=" $CONFIGFILE \n Was not found \n\n Exiting..."
       YADBOX="--title="Wingrid" --image="error" --button="OK:1""
       [ "$DISPLAY" != "" ] && yad $YADBOX --text="$ERRMSG"
       exit 1
    fi
    
    # Guard against missing individual settings 
    [ "$WINHEIGHT_LESS" = "" ] && WINHEIGHT_LESS=0
    [ "$WINHEIGHT_MORE" = "" ] && WINHEIGHT_MORE=0
    [ "$GAPTOP" = "" ] && GAPTOP=0
    [ "$GAPLEFT" = "" ] && GAPLEFT=0
    
    # --------------------
    # Construct Parameters
    # --------------------
    
    # Capture screen resolution value
    SCREENRES=$(xdpyinfo | awk '/dimensions:/ { sub("x", " "); print $2" "$3 }')
    
    # Extract screen resolution into height and width components
    SCREENWIDTH=${SCREENRES% *}
    SCREENHEIGHT=${SCREENRES#* }
    
    # Calculate 50% of the screen width and height values
    SCREENHALFWIDTH=$(($SCREENWIDTH/2))
    SCREENHALFHEIGHT=$(($SCREENHEIGHT/2))
    
    # Reference used by window manager when positioning the window (always zero)
    GRAVITY=0
    
    # Distance from screen top edge to top edge of bottom window
    OFFSETTOP=$(($SCREENHEIGHT/12))
    
    # Distance from screen left edge to left edge of left window
    OFFSETLEFT=$(($SCREENWIDTH/12))
    
    # Dimensions of window
    WINHEIGHT=$(($SCREENHEIGHT-(SCREENHEIGHT/6)))
    WINWIDTH=$((SCREENWIDTH-(SCREENWIDTH/6)))
    
    # ----------------------------
    # Put Window into Grid Pattern
    # ----------------------------
    
    # Ensure the active window is not in maximized mode nor in fullscreen mode
    wmctrl -r :ACTIVE: -b remove,maximized_horz,maximized_vert
    wmctrl -r :ACTIVE: -b remove,fullscreen
    
    # Position and resize the active window
    wmctrl -r :ACTIVE: -e $GRAVITY,$OFFSETLEFT,$OFFSETTOP,$WINWIDTH,$WINHEIGHT
    
    #15105
    Member
    Avatar
    skidoo

    I didn’t know that page was now the real IceWM

    Technically, it is… but, in practice it is not.

    apt-cache policy icewm
    wget http://repo.antixlinux.org/testing/pool/main/i/icewm/icewm_1.4.2.tar.xz
    The debian/control file states “Vcs-Git: https://github.com/Code7R/icewm.git
    as does the debian/control file within the debian-maintained package.

    Both the debian and antiX packaging strip out the “genpref” utility provided by the author,
    but during package build it is run, and it generates /usr/share/icewm/preferences
    ^—– We can expect this is the DEFINITIVE list of available iceWM preferences, regardless what is stated in any (likely outdated) documentation

    github.com/Code7R/icewm/commit/fd3…
    debian/changelog
    icewm (1.4.3.0~pre-20181030-2) unstable; urgency=low

    * Dropped build and installation of the additional icewm FAQ (wrong
    information is often worse that no information, and FTBFS fix due to
    removed linuxdoc-tools dependency)

    — Eduard Bloch <xxxxxx@debian.org> Wed, 31 Oct 2018 12:25:51 +0100″

    #15106
    Member
    Avatar
    skidoo

    wingrid is independent of icwWM, works (or does not work, heh heh) with other window managers also.

    We’ve covered testing the icewm “keys” file.
    Repost here the list of “broken” deprecated//invalid preferences you’ve found in the shipped /etc/skel/icewm/preferences file.
    Fixing or dropping those are within the scope of this topic.

    Wingrid customization is a separate consideration. If you have a dapper “for icewm” set of working wingrid keybinds, y’all (not me) can decide whether antiX ought to ship ’em in place of the currently shipped wingrid keybinds.

    #15108
    Member
    Avatar
    BobC

    skidoo, Here is the IceWM keyboard shortcuts test results. I only brought up the WinGrid because it was suggested to use it last time I was having problems with the supposedly built in IceWM functions to arrange the windows which my testing showed to not work. Thanks for your time and suggestions. All of the non-working options are commented out in all the other distros I tested (most recent release of each).

    I installed Absolute Linux, Debian 9, and OpenSuse Leap 15, Mageia, Slackopup, and Scientific Linux, all with IceWM setup to try to find an IceWM desktop with keyboard shortcuts that work similar to antiX, and few have many keys redefined, none have the window tiling or cascade or window/workspace options for the keys, so I can’t tell if they are is an IceWM issues or not, other than to say all of them also occur on my Dell D620 laptop as well as my HP DV9000 series laptop, with and without external keyboard.

    Here are the results of testing all the keys mapped. I wonder if I need to be using a special keyboard somehow for my HP DV9000 series laptop (17″ with separate numeric keypad built in):

    from Preferences
    does nothing – KeyWinArrangeN=”Ctrl+Alt+KP_8″
    does nothing – KeyWinArrangeNE=”Ctrl+Alt+KP_9″
    does nothing – KeyWinArrangeE=”Ctrl+Alt+KP_6″
    does nothing – KeyWinArrangeSE=”Ctrl+Alt+KP_3″
    does nothing – KeyWinArrangeS=”Ctrl+Alt+KP_2″
    does nothing – KeyWinArrangeSW=”Ctrl+Alt+KP_1″
    does nothing – KeyWinArrangeW=”Ctrl+Alt+KP_4″
    does nothing – KeyWinArrangeNW=”Ctrl+Alt+KP_7″
    does nothing – KeyWinArrangeC=”Ctrl+Alt+KP_5″

    works – KeySysSwitchNext=”Alt+Tab”
    works – KeySysSwitchLast=”Alt+Shift+Tab”

    works – KeySysWinNext=”Alt+Esc”
    works – KeySysWinPrev=”Alt+Shift+Esc”
    works – KeySysWinMenu=”Shift+Esc”

    not tested – KeySysDialog=”Alt+Ctrl+Del”

    works – KeySysMenu=”Ctrl+Esc”
    works – KeySysWindowList=”Alt+Ctrl+Esc”
    works – KeySysAddressBar=”Alt+Ctrl+Space”

    works – KeySysWorkspacePrev=”Alt+Ctrl+Left”
    works – KeySysWorkspaceNext=”Alt+Ctrl+Right”
    works – KeySysWorkspaceLast=”Alt+Ctrl+Down”
    doesn’t move the window, same as without shift – KeySysWorkspacePrevTakeWin=”Alt+Ctrl+Shift+Left”
    doesn’t move the window, same as without shift – KeySysWorkspaceNextTakeWin=”Alt+Ctrl+Shift+Right”
    doesn’t move the window, same as without shift – KeySysWorkspaceLastTakeWin=”Alt+Ctrl+Shift+Down”
    works – KeySysWorkspace1=”Alt+Ctrl+1″
    works – KeySysWorkspace2=”Alt+Ctrl+2″
    probably works if workspace was active – KeySysWorkspace3=”Alt+Ctrl+3″
    probably works if workspace was active – KeySysWorkspace4=”Alt+Ctrl+4″
    doesn’t move the window, same as without shift – KeySysWorkspace1TakeWin=”Alt+Ctrl+Shift+1″
    doesn’t move the window, same as without shift – KeySysWorkspace2TakeWin=”Alt+Ctrl+Shift+2″
    probably doesn’t work if workspace was active – KeySysWorkspace3TakeWin=”Alt+Ctrl+Shift+3″
    probably doesn’t work if workspace was active – KeySysWorkspace4TakeWin=”Alt+Ctrl+Shift+4″

    does nothing – KeySysTileVertical=”Alt+Shift+F2″
    does nothing – KeySysTileHorizontal=”Alt+Shift+F3″
    very weird, closes window – KeySysCascade=”Alt+Shift+F4″
    does nothing -KeySysArrange=”Alt+Shift+F5″
    very weird, put window into resize mode – KeySysArrangeIcons=”Alt+Shift+F8″
    very weird, went to browser window – KeySysMinimizeAll=”Alt+Shift+F9″
    very weird, maximize window toggle – KeySysHideAll=”Alt+Shift+F11″
    very weird, put window into move window mode – KeySysUndoArrange=”Alt+Shift+F7″
    works – KeySysShowDesktop=”Alt+Ctrl+d”
    works – KeySysCollapseTaskBar=”Alt+Ctrl+h”

    From Keys

    # Wingrid
    works – key “Ctrl+1” wingrid-left.sh
    works – key “Ctrl+2” wingrid-right.sh
    works – key “Ctrl+3” wingrid-top.sh
    works – key “Ctrl+4” wingrid-bottom.sh
    works – key “Ctrl+5” wingrid-topleft.sh
    works – key “Ctrl+6” wingrid-topright.sh
    works – key “Ctrl+7” wingrid-bottomleft.sh
    works – key “Ctrl+8” wingrid-bottomright.sh
    works – key “Ctrl+9” wingrid-maximize.sh
    works – key “Ctrl+0” wingrid-close.sh

    # suggested
    works – key “Alt+F2” gexec

    #Set Volume
    does nothing, caused by lack of space after 5- >>>>> – key “Alt+Ctrl+KP_Divide” amixer -c 0 set Master 5-# lower volume
    works – key “Alt+Ctrl+KP_Multiply” amixer -c 0 set Master 5+ # raise volume
    does nothing – key “Alt+Ctrl+KP_Add” amixer sset Master toggle # mute on/off

    #15111
    Member
    Avatar
    BobC

    I cleaned up the wording and posted an issue on github. Maybe there is something else causing some of them not to work.

    #15115
    Member
    Avatar
    skidoo

    Yes, weird. In case I didn’t mention it earlier, while in iceWM I discovered that an F5 keypress (while firefox window had focus) caused antiX ControlCenter to luanch, vs the expected “Reload this browser page/tab”

    #15124
    Member
    Hierax_ca
    Hierax_ca

    the Ctrl+Alt+Shift+WorkSpace# isn’t properly (as per the the preferences config file) moving an Application/Window from one WorkSpace to another. This can be done with the mouse by Right Clicking on the Window and choosing “Move To”.

    This does work properly when using antiX with Debian 10 Testing/Buster which has ICEWM 1.4.3~pre20180822 but it does not work with Debian 9 Stable/Stretch which uses IceWM 1.4.2. Not sure if this is an antiX or an IceWM issue. Regardless, it would be great to have this functionality (whatever the key combo) out-of-the-box in AntiX 19.x.

    I mentioned this here:
    https://www.antixforum.com/forums/topic/icewm-workspaces-move-window-to-workspace-to-and-launch-window-in-workspace/

    AntiX 17.x:
    - (32-bit): IBM Thinkpad 600X (2000), IBM NetVista X41 (2002), IBM Thinkpad A31p (2003);
    - (64-bit): Lenovo Thinkpads x61s (2008), x200 (2009), x301 (2009).

    #15125
    Forum Admin
    anticapitalista
    anticapitalista

    TBH our icewm .configs are very old and clearly need changing. However, I’m not too concerned about changing them for antiX-17x series (and earlier).

    If you want to make changes, I suggest you make them for our next buster/stable release.

    Icewm version (and its config files) can be found in debian/buster here.

    https://packages.debian.org/buster/icewm

    Philosophers have interpreted the world in many ways; the point is to change it.

    #15160
    Member
    Avatar
    BobC

    I was doing some more testing and found that many of the functions with problems work if I remap them to different keys.

    Not that I am any authority, but I like things setup so that each level of the system uses a different modifier or modifier combination, so that the Window manager ones are different than the combined terminal and command line program ones, and different than the x-window application ones as well. I also like it where navigation can be dome easily with the numeric keypad rose when numlock is off. It makes it easy to remember what does what that way and avoids problems.

    I’ve decided that I should stop asking others to do anything that I like, and so there is no need to change the keyboard anything to suit me at this point. I need to learn about dotfile management in my spare time, I guess. If anyone has antiX based dotfile management working, please fill me in. Thanks…

    #15164
    Member
    Avatar
    skidoo

    They MUST be different, else will conflict. Window manager (its global keybinds) gets first dibs.
    Only if the keycombo doesn’t match any of the defined global (wm config) does it passthru to the application window having focus.

    Inside the context of a terminal emulator window, the shell in use (commonly “bash”) as well as the configuration of a given program can introduce new keybinds and override existing (key mappings recognized by the parent process). Example: launch nano editor ~~ it is configured to swallow/ignore Ctrl+C

    #15656
    Member
    Avatar
    BobC

    I have all the IceWM functions that I need working on my laptop keyboard as well as external keyboard. Hierax-ca can see if I met his needs as well. I would also be willing to help test this when a new version is in process. Here are the helpfile, keys, preferences, and wingrid-centerzoom.sh used:

    /usr/share/icewm/antixkeylist.txt:

    ---IceWM Default Keys Help---
    Alt-F1 Show Keyboard Shortcuts
    Alt-F2 New Window, Run App 
    Alt-F4 Close App and Window
    Alt-F9 Minimize Window
    Alt-F10 Maximize Window
    Alt-F11 Fullscreen toggle
    Alt-F12 RollUp/Down Window
    Alt-Tab Switch Window Select
    Alt-Esc Next Window
    Alt-Shift-Esc Prev Window
    Shift-Esc Window Properties
    Ctrl-Alt-Keypad w/Numlock Off
      1234 6789 Move/Resize Window
            5        Center Window
            0        Maximize Window
    Ctrl-Shift-KP Left Move to Prev
    Ctrl-Shift-KP Right Move to Next
    Ctrl-Alt-1/2 Goto Workspace Number
    Ctrl-Alt-Arrow Prev/Next Workspace
    Ctrl-Shift-c Cascade Windows
    Ctrl-Shift-a Arrange Windows
    Ctrl-Shift-u Undo Arrange
    Ctrl-Alt-d Show Desktop toggle
    Ctrl-Alt-h TaskBar On/Off
    Ctrl-Alt-l Lock Screen
    Ctrl-Alt-s ScreenShot
    Ctrl-Alt-NumLock Mute Volume
    Ctrl-Alt-Keypad / Volume Down
    Ctrl-Alt-Keypad * Volume Up 5%
    Ctrl-Esc Open Main Menu
    

    keys:

    # sample IceWM keys for antiX.
    # Wingrid on numeric keypad rose
    key "Ctrl+Alt+KP_Left" wingrid-left.sh
    key "Ctrl+Alt+KP_Right" wingrid-right.sh
    key "Ctrl+Alt+KP_Up" wingrid-top.sh
    key "Ctrl+Alt+KP_Down" wingrid-bottom.sh
    key "Ctrl+Alt+KP_Home" wingrid-topleft.sh
    key "Ctrl+Alt+KP_Prior" wingrid-topright.sh
    key "Ctrl+Alt+KP_End" wingrid-bottomleft.sh
    key "Ctrl+Alt+KP_Next" wingrid-bottomright.sh
    key "Ctrl+Alt+KP_Insert" wingrid-maximize.sh
    key "Ctrl+Alt+KP_Begin" wingrid-centerzoom.sh
    
    # suggested
    key "Alt+F1" dillo /usr/share/icewm/antixkeylist.txt
    key "Alt+F2" gexec # Run Program
    #key "Ctrl+Shift+Delete" desktop-session-exit
    #key "Ctrl+Alt+e" desktop-defaults-run -e
    #key "Ctrl+Alt+t" desktop-defaults-run -t
    #key "Ctrl+Shift+t" desktop-defaults-run -r -t
    #key "Ctrl+Alt+u" gftp
    #key "Ctrl+Alt+i" desktop-defaults-run -i
    #key "Ctrl+Alt+o" libreoffice
    #key "Ctrl+Alt+p" desktop-defaults-run -t htop
    #key "Ctrl+Shift+p" desktop-defaults-run -r -t htop
    #key "Ctrl+Alt+a" desktop-defaults-run -a
    key "Ctrl+Alt+s" antixscreenshot.sh
    #key "Ctrl+Alt+d" gksu synaptic
    #key "Ctrl+Alt+f" desktop-defaults-run -fm
    #key "Ctrl+Shift+f" desktop-defaults-run -r -fm
    #key "Ctrl+Alt+g" desktop-defaults-run -te
    #key "Ctrl+Shift+g" desktop-defaults-run -r -te
    #key "Ctrl+Alt+h" desktop-defaults-run -b file:/usr/share/antiX/FAQ/index.html
    #key "Ctrl+Alt+k" desktop-session-exit
    key "Ctrl+Alt+l" xlock # Lock Screen
    #key "Ctrl+Alt+z" grsync
    #key "Ctrl+Alt+x" xkill
    #key "Ctrl+Alt+c" antixcc.sh
    #key "Ctrl+Alt+v" desktop-defaults-run -v
    #key "Ctrl+Alt+b" desktop-defaults-run -b
    
    # Set Volume
    key "Ctrl+Alt+Num_Lock" amixer sset Master toggle # KP NumLock Mute
    key "Ctrl+Alt+KP_Divide" amixer -c 0 set Master 5- # KP / Volume -5%
    key "Ctrl+Alt+KP_Multiply" amixer -c 0 set Master 5+ # KP * Volume +5%
    
    # F* keys examples
    # Open a terminal
    #key "F1" desktop-defaults-run -t
    # Open a dialog to run programs	
    #key "F2" gexec	
    # Open file manager			
    #key "F3" desktop-defaults-run -fm
    # Open browser
    #key "F4" desktop-defaults-run -b
    # Open antiX control centre	 
    #key "F5" antixcc.sh
    # Take a screenshot			
    #key "F6" antixscreenshot.sh	
    

    Preferences:

    # preferences(1.2.35) - generated by genpref - Modified by OU812
    # NOTE: For a complete list of available settings, please see the file
    #       /usr/share/icewm/preferences
    
    # Global Settings
    #################
    UseMouseWheel=0
    
    IconPath="/usr/share/icons:/usr/share/pixmaps"
    
    RunCommand="gexec"
    TerminalCommand="desktop-defaults-run -t"
    OpenCommand="" # menu file browser - eg. spacefm or rox or desktop-defaults-run -fm
    
    #  Window Settings
    ##################
    ShowMoveSizeStatus=1
    
    OpaqueMove=1
    OpaqueResize=1
    
    #  Menu Settings
    ################
    MenuMouseTracking=1
    
    AutoReloadMenus=1
    
    ShowProgramsMenu=0
    ShowSettingsMenu=1
    ShowFocusModeMenu=1
    ShowThemesMenu=1
    ShowHelp=1
    ShowRun=1
    ShowWindowList=0
    
    ShowLogoutMenu=1
    ShowLogoutSubMenu=1
    LogoutCommand="desktop-session-exit"
    ConfirmLogout=0 # Change to 0 if you add a logout command
    ShutdownCommand="sudo halt"
    RebootCommand="sudo reboot"
    LockCommand="xlock"
    
    #  Task Bar Settings
    ####################
    ShowTaskBar=1
    TaskBarAtTop=0
    TaskBarKeepBelow=0
    TaskBarAutoHide=0
    TaskBarShowShowDesktopButton=1
    TaskBarShowStartMenu=1
    TaskBarShowWindowListMenu=0
    TaskBarShowCollapseButton=0
    TaskBarDoubleHeight=0
    
    TaskBarShowWorkspaces=1
    WorkspaceNames="1","2"
    PagerShowPreview = 1
    PagerShowWindowIcons = 0
    PagerShowMinimized = 1
    PagerShowBorders = 1
    PagerShowNumbers = 1
    TaskBarLaunchOnSingleClick = 1
    EnableAddressBar = 1
    ShowAddressBar = 0
    
    TaskBarShowClock=1
    TaskBarClockLeds=0
    ClockCommand="calcurse"
    TimeFormat="%H:%M"
    DateFormat="%c"
    
    TaskBarShowAPMStatus=1
    
    TaskBarShowMEMStatus=1
    
    TaskBarShowMailboxStatus=0
    MailCommand="claws-mail"
    
    TaskBarShowCPUStatus=1
    CPUStatusCommand="desktop-defaults-run -t htop"
    
    Ctrl+Alt=1
    NetStatusCommand="desktop-defaults-run -t netstat -c"
    NetworkStatusDevice="wlan0 eth0"
    
    #  Keyboard Shortcuts
    #####################
    Win95Keys=1
    
    ModSuperIsCtrlAlt=1
    
    # window arrangement done by wingrid in keys
    #KeyWinArrangeN="Ctrl+Alt+KP_Up" # Up-Move window Top 
    #KeyWinArrangeNE="Ctrl+Alt+KP_Prior" # PgUp-Move window Top Right 
    #KeyWinArrangeE="Ctrl+Alt+KP_Right" # Right-Move window to Right 
    #KeyWinArrangeSE="Ctrl+Alt+KP_Next" # PgDn-Move window to Bottom Right 
    #KeyWinArrangeS="Ctrl+Alt+KP_Down" # Down-Move window to Bottom 
    #KeyWinArrangeSW="Ctrl+Alt+KP_End" # End-Move window to Bottom Left 
    #KeyWinArrangeW="Ctrl+Alt+KP_Left" # Left-Move window to Left 
    #KeyWinArrangeNW="Ctrl+Alt+KP_Home" # Home-Move window to Top Left 
    #KeyWinArrangeC="Ctrl+Alt+KP_Begin" # 5-Center window
    
    KeySysSwitchNext="Alt+Tab" # Popup Window list, Next window
    KeySysSwitchLast="Alt+Shift+Tab" # Popup Window list, Previous window
    
    KeySysWinNext="Alt+Esc" # goto Next window 
    KeySysWinPrev="Alt+Shift+Esc" # goto Previous window
    KeySysWinMenu="Shift+Esc" # Popup Window Properties Menu
    
    KeySysDialog="Ctrl+Alt+Del" # System Dialog
    
    KeySysMenu="Ctrl+Esc" # Popup Start Menu
    KeySysWindowList="Ctrl+Alt+Esc" # Popup Window List with Workspaces
    KeySysAddressBar="Ctrl+Alt+Space" # Popup Command Entry Box
    
    KeySysWorkspacePrev="Ctrl+Alt+Left"
    KeySysWorkspaceNext="Ctrl+Alt+Right"
    #KeySysWorkspaceLast="Ctrl+Alt+Down"
    KeySysWorkspacePrevTakeWin="Ctrl+Shift+KP_Left"
    KeySysWorkspaceNextTakeWin="Ctrl+Shift+KP_Right"
    #KeySysWorkspaceLastTakeWin="Ctrl+Alt+Shift+Down"
    KeySysWorkspace1="Ctrl+Alt+1"
    KeySysWorkspace2="Ctrl+Alt+2"
    #KeySysWorkspace3="Ctrl+Alt+3"
    #KeySysWorkspace4="Ctrl+Alt+4"
    #KeySysWorkspace1TakeWin="Ctrl+Alt+Shift+1"
    #KeySysWorkspace2TakeWin="Ctrl+Alt+Shift+2"
    #KeySysWorkspace3TakeWin="Ctrl+Alt+Shift+3"
    #KeySysWorkspace4TakeWin="Ctrl+Alt+Shift+4"
    
    #KeySysTileVertical="Ctrl+Shift+v"
    #KeySysTileHorizontal="Ctrl+Shift+h"
    #KeySysCascade="Ctrl+Shift+c"
    KeySysArrange="Ctrl+Shift+a"
    #KeySysArrangeIcons="Alt+Shift+F8"
    #KeySysMinimizeAll="Alt+Shift+F9"
    #KeySysHideAll="Alt+Shift+F11"
    KeySysUndoArrange="Ctrl+Shift+u"
    #KeySysShowDesktop="Ctrl+Alt+d"
    
    KeySysCollapseTaskBar="Ctrl+Alt+h"
    
    #
    # icewmbg preferences
    #
    # IMPORTANT: You MUST run icewmbg (probably before icewm)
    #            to set the background!
    #
    
    #  Display desktop background centered and not tiled
    DesktopBackgroundCenter=1 # 0/1
    
    #  Support for semitransparent terminals like Eterm or gnome-terminal
    SupportSemitransparency=1 # 0/1
    
    #  Desktop background scaled to full screen
    #DesktopBackgroundScaled=1 # 0/1
    
    #  Desktop background image
    #DesktopBackgroundImage="~/Wallpaper/bg.jpg"
    

    /usr/local/bin/wingrid-centerzoom.sh:

    #!/bin/sh
    
    PROGNAME=${0##*/}
    PROGVERSION="1.1"
    
    # --------------------
    # Help and Information
    # --------------------
    
    # When requested show information about script
    if [ "$1" = '-h' ] || [ "$1" = '--help' ]; then
    cat << end-of-messageblock
    
    $PROGNAME version $PROGVERSION
    Places the active window into a predetermined position and size on screen.
    
    Usage: 
       $PROGNAME
    
    Options:
       -h, --help     Show this output
    
    Summary:
       The screen is notionally divided into 4 rectangles in a 2x2 grid.
       Each window may occupy any 1, any 2 adjacent, or all 4 rectangles.
    
       Launching is normally done using the keyboard via a combined key press.
       The combination of keys are assigned by the system window manager and can 
       be reassigned if desired.  
    
       Optional configuration items are available in
       /home/USERNAME/.config/wingrid/wingrid.conf
    
       Requires:
          awk, wmctrl, xdpyinfo, yad
    
       See also:
          wingrid-bottom.sh
          wingrid-bottomleft.sh
          wingrid-bottomright.sh
          wingrid-left.sh
          wingrid-right.sh
          wingrid-top.sh
          wingrid-topleft.sh
          wingrid-topright.sh
          wingrid-maximize.sh
          wingrid-close.sh
    
    end-of-messageblock
       exit 0
    fi
    
    # --------------------------
    # User Configurable Settings
    # --------------------------
    
    # Location of the user configurable settings file
    CONFIGFILE="$HOME/.config/wingrid/wingrid.conf"
    
    # Obtain the user specifiable configuration
    if [ -f $CONFIGFILE ]; then
       . $CONFIGFILE
    
       else
    
       # Display an error message and exit
       ERRMSG=" $CONFIGFILE \n Was not found \n\n Exiting..."
       YADBOX="--title="Wingrid" --image="error" --button="OK:1""
       [ "$DISPLAY" != "" ] && yad $YADBOX --text="$ERRMSG"
       exit 1
    fi
    
    # Guard against missing individual settings 
    [ "$WINHEIGHT_LESS" = "" ] && WINHEIGHT_LESS=0
    [ "$WINHEIGHT_MORE" = "" ] && WINHEIGHT_MORE=0
    [ "$GAPTOP" = "" ] && GAPTOP=0
    [ "$GAPLEFT" = "" ] && GAPLEFT=0
    
    # --------------------
    # Construct Parameters
    # --------------------
    
    # Capture screen resolution value
    SCREENRES=$(xdpyinfo | awk '/dimensions:/ { sub("x", " "); print $2" "$3 }')
    
    # Extract screen resolution into height and width components
    SCREENWIDTH=${SCREENRES% *}
    SCREENHEIGHT=${SCREENRES#* }
    
    # Calculate 50% of the screen width and height values
    SCREENHALFWIDTH=$(($SCREENWIDTH/2))
    SCREENHALFHEIGHT=$(($SCREENHEIGHT/2))
    
    # Reference used by window manager when positioning the window (always zero)
    GRAVITY=0
    
    # Distance from screen top edge to top edge of bottom window
    OFFSETTOP=$(($SCREENHEIGHT/12))
    
    # Distance from screen left edge to left edge of left window
    OFFSETLEFT=$(($SCREENWIDTH/14))
    
    # Dimensions of window
    WINHEIGHT=$(($SCREENHEIGHT-(SCREENHEIGHT/6)))
    WINWIDTH=$((SCREENWIDTH-(SCREENWIDTH/7)))
    
    # ----------------------------
    # Put Window into Grid Pattern
    # ----------------------------
    
    # Ensure the active window is not in maximized mode nor in fullscreen mode
    wmctrl -r :ACTIVE: -b remove,maximized_horz,maximized_vert
    wmctrl -r :ACTIVE: -b remove,fullscreen
    
    # Position and resize the active window
    wmctrl -r :ACTIVE: -e $GRAVITY,$OFFSETLEFT,$OFFSETTOP,$WINWIDTH,$WINHEIGHT
    
Viewing 15 posts - 1 through 15 (of 66 total)

You must be logged in to reply to this topic.