reorganize slax build

This commit is contained in:
TomasM
2017-10-31 13:17:51 -04:00
parent ebe447f278
commit 1690cea610
34 changed files with 217 additions and 8 deletions
+3 -3
View File
@@ -9,7 +9,7 @@ VERSION=1.3.5
apt-get update
apt-get install --no-install-recommends --yes $NAME feh
. ./cleanup
. ../../cleanup
savechanges /$NAME-stock.sb
cd /
@@ -49,7 +49,7 @@ tar -xf xlunch.tar.gz
cd xlunch-master
make
cp xlunch /squashfs-root/usr/bin
echo -e "#!/bin/bash\nxlunch --voidclickterminate --rootwindowbackground --iconpadding 30 --textpadding 15 --paddingswap --leastmargin 20" >/squashfs-root/usr/bin/fbmenu
chmod ugo+x /squashfs-root/usr/bin/fbmenu
(cd rootcopy && cp --parents -afr * /)
savechanges /03-desktop.sb /squashfs-root
@@ -0,0 +1,88 @@
--- a/src/Window.cc 2017-10-18 05:50:16.540916094 -0400
+++ b/src/Window.cc 2017-10-18 05:50:35.381110991 -0400
@@ -2744,6 +2744,14 @@
m_button_grab_x = x - frame().x() - frame().window().borderWidth();
m_button_grab_y = y - frame().y() - frame().window().borderWidth();
+ // If mouse clicked on the border, start window resize instead of move
+ if (m_button_grab_x <= 0 || m_button_grab_y <= 0 || m_button_grab_x >= frame().window().width()
+ || m_button_grab_y >= frame().window().height() ) {
+ ReferenceCorner dir = getResizeDirection(m_button_grab_x,m_button_grab_y,EDGEORCORNERRESIZE,frame().window().borderWidth(),frame().window().borderWidth());
+ startResizing(m_button_grab_x, m_button_grab_y, dir);
+ return;
+ }
+
moving = true;
Fluxbox *fluxbox = Fluxbox::instance();
--- a/src/FbTk/FbDrawable.hh
+++ b/src/FbTk/FbDrawable.hh
@@ -52,7 +52,8 @@ public:
LEFT,
RIGHT,
UP,
- DOWN
+ DOWN,
+ MENU
};
// x, y, width and height define a space within which we're drawing a triangle
--- a/src/ToolFactory.cc 2013-02-13 05:04:05.000000000 -0500
+++ b/src/ToolFactory.cc 2017-10-31 12:11:20.000000000 -0400
@@ -101,6 +101,8 @@
cmd_str += " (workspace=[current])";
}
+ if (name.find("menu") != std::string::npos) cmd_str = "Exec fbmenu";
+
FbTk::RefCount<FbTk::Command<void> > cmd(FbTk::CommandParser<void>::instance().parse(cmd_str));
if (cmd == 0) // we need a command
return 0;
@@ -110,6 +112,9 @@
if (name.find("prev") != std::string::npos)
arrow_type = FbTk::FbDrawable::LEFT;
+ if (name.find("menu") != std::string::npos)
+ arrow_type = FbTk::FbDrawable::MENU;
+
ArrowButton *win = new ArrowButton(arrow_type, parent,
0, 0,
button_size, button_size);
--- a/src/FbTk/FbDrawable.cc 2017-10-19 06:06:08.000000000 -0400
+++ a/src/FbTk/FbDrawable.cc 2017-10-19 06:06:57.013131070 -0400
@@ -96,7 +96,7 @@
if (drawable() == 0 || gc == 0 || width == 0 || height == 0)
return;
- XPoint pts[3];
+ XPoint pts[4];
if (scale < 100) scale = 100; // not bigger than the space allowed
else if (scale > 10000) scale = 10000; // not too small...
@@ -115,6 +115,26 @@
}
switch (type) {
+ case FbTk::FbDrawable::MENU:
+ {
+ int s=7; int m=2; int d=2; int sh=-1; //size margin distance
+ pts[0].x=m+sh; pts[0].y=m+sh; pts[1].x=m+s+sh; pts[1].y=m+sh;
+ pts[2].x=m+s+sh; pts[2].y=m+s+sh; pts[3].x=m+sh; pts[3].y=m+s+sh;
+ fillPolygon(gc, pts, 4, Convex, CoordModeOrigin);
+
+ pts[0].x=m+s+d+sh; pts[0].y=m+sh; pts[1].x=m+s+d+s+sh; pts[1].y=m+sh;
+ pts[2].x=m+s+d+s+sh; pts[2].y=m+s+sh; pts[3].x=m+s+d+sh; pts[3].y=m+s+sh;
+ fillPolygon(gc, pts, 4, Convex, CoordModeOrigin);
+
+ pts[0].x=m+sh; pts[0].y=m+s+d+sh; pts[1].x=m+s+sh; pts[1].y=m+s+d+sh;
+ pts[2].x=m+s+sh; pts[2].y=m+s+d+s+sh; pts[3].x=m+sh; pts[3].y=m+s+d+s+sh;
+ fillPolygon(gc, pts, 4, Convex, CoordModeOrigin);
+
+ pts[0].x=m+s+d+sh; pts[0].y=m+s+d+sh; pts[1].x=m+s+d+s+sh; pts[1].y=m+s+d+sh;
+ pts[2].x=m+s+d+s+sh; pts[2].y=m+s+d+s+sh; pts[3].x=m+s+d+sh; pts[3].y=m+s+d+s+sh;
+ fillPolygon(gc, pts, 4, Convex, CoordModeOrigin);
+ return;
+ }
case FbTk::FbDrawable::LEFT:
// start at the tip
pts[0].x = (width / 2) - (ax / 2); pts[0].y = height / 2;
@@ -0,0 +1,13 @@
[app] (name=fbrun)
[Position] (WINCENTER) {0 0}
[Layer] {2}
[end]
[app] (name=xlunch)
[DECO] {NONE}
[end]
[app] (name=xterm) {1}
[Position] (WINCENTER) {0 0}
[end]
@@ -0,0 +1,75 @@
session.screen0.clientMenu.usePixmap: true
session.screen0.window.focus.alpha: 255
session.screen0.window.unfocus.alpha: 255
session.screen0.iconbar.iconTextPadding: 10
session.screen0.iconbar.iconWidth: 128
session.screen0.iconbar.alignment: Relative
session.screen0.iconbar.usePixmap: true
session.screen0.iconbar.mode: {static groups}
session.screen0.slit.alpha: 255
session.screen0.slit.acceptKdeDockapps: true
session.screen0.slit.placement: TopLeft
session.screen0.slit.onhead: 0
session.screen0.slit.maxOver: false
session.screen0.slit.autoHide: false
session.screen0.slit.layer: Dock
session.screen0.titlebar.left:
session.screen0.titlebar.right: Minimize Maximize Close
session.screen0.toolbar.height: 0
session.screen0.toolbar.alpha: 255
session.screen0.toolbar.maxOver: false
session.screen0.toolbar.tools: RootMenu, iconbar, systemtray, clock
session.screen0.toolbar.onhead: 1
session.screen0.toolbar.placement: BottomCenter
session.screen0.toolbar.widthPercent: 100
session.screen0.toolbar.visible: true
session.screen0.toolbar.autoHide: false
session.screen0.toolbar.layer: Dock
session.screen0.tabs.usePixmap: true
session.screen0.tabs.maxOver: true
session.screen0.tabs.intitlebar: true
session.screen0.menu.alpha: 255
session.screen0.tab.placement: TopLeft
session.screen0.tab.width: 64
session.screen0.noFocusWhileTypingDelay: 0
session.screen0.focusModel: ClickFocus
session.screen0.showwindowposition: false
session.screen0.windowPlacement: RowMinOverlapPlacement
session.screen0.maxIgnoreIncrement: false
session.screen0.maxDisableMove: false
session.screen0.autoRaise: true
session.screen0.tabFocusModel: ClickToTabFocus
session.screen0.strftimeFormat: %H:%M
session.screen0.allowRemoteActions: false
session.screen0.edgeSnapThreshold: 10
session.screen0.menuDelay: 200
session.screen0.clickRaises: true
session.screen0.colPlacementDirection: TopToBottom
session.screen0.focusNewWindows: true
session.screen0.maxDisableResize: false
session.screen0.fullMaximization: false
session.screen0.windowMenu: /root/.fluxbox/windowmenu
session.screen0.defaultDeco: NORMAL
session.screen0.focusSameHead: false
session.screen0.workspacewarping: true
session.screen0.rowPlacementDirection: LeftToRight
session.screen0.opaqueMove: true
session.screen0.tooltipDelay: 500
session.screen0.workspaces: 1
session.screen0.workspaceNames: Workspace 1
session.cacheLife: 5
session.slitlistFile: /root/.fluxbox/slitlist
session.menuFile: ~/.fluxbox/menu
session.ignoreBorder: false
session.cacheMax: 200
session.autoRaiseDelay: 250
session.keyFile: ~/.fluxbox/keys
session.forcePseudoTransparency: true
session.tabPadding: 0
session.tabsAttachArea: Window
session.styleFile: /usr/share/fluxbox/styles/Slax
session.doubleClickInterval: 250
session.styleOverlay: /root/.fluxbox/overlay
session.configVersion: 13
session.colorsPerChannel: 4
session.appsFile: /root/.fluxbox/apps
@@ -0,0 +1,137 @@
# click on the desktop to get menus
OnDesktop Mouse1 :HideMenus
OnDesktop Mouse2 :WorkspaceMenu
OnDesktop Mouse3 :RootMenu
# scroll on the desktop to change workspaces
OnDesktop Mouse4 :PrevWorkspace
OnDesktop Mouse5 :NextWorkspace
# scroll on the toolbar to change current window
OnToolbar Mouse4 :PrevWindow {static groups} (iconhidden=no)
OnToolbar Mouse5 :NextWindow {static groups} (iconhidden=no)
# alt + left/right click to move/resize a window
OnWindow Mod1 Mouse1 :MacroCmd {Raise} {Focus} {StartMoving}
OnWindowBorder Move1 :StartMoving
OnWindow Mod1 Mouse3 :MacroCmd {Raise} {Focus} {StartResizing NearestCorner}
OnLeftGrip Move1 :StartResizing bottomleft
OnRightGrip Move1 :StartResizing bottomright
# alt + middle click to lower the window
OnWindow Mod1 Mouse2 :Lower
# control-click a window's titlebar and drag to attach windows
OnTitlebar Control Mouse1 :StartTabbing
# double click on the titlebar to shade
OnTitlebar Double Mouse1 :Maximize
# left click on the titlebar to move the window
OnTitlebar Mouse1 :MacroCmd {Raise} {Focus} {ActivateTab}
OnTitlebar Move1 :StartMoving
# middle click on the titlebar to lower
OnTitlebar Mouse2 :Lower
# right click on the titlebar for a menu of options
OnTitlebar Mouse3 :WindowMenu
# alt-tab
Mod1 Tab :NextWindow {groups} (workspace=[current])
Mod1 Shift Tab :PrevWindow {groups} (workspace=[current])
# cycle through tabs in the current window
Mod4 Tab :NextTab
Mod4 Shift Tab :PrevTab
# go to a specific tab in the current window
Mod4 1 :Tab 1
Mod4 2 :Tab 2
Mod4 3 :Tab 3
Mod4 4 :Tab 4
Mod4 5 :Tab 5
Mod4 6 :Tab 6
Mod4 7 :Tab 7
Mod4 8 :Tab 8
Mod4 9 :Tab 9
# open a terminal
Mod1 F1 :Exec xterm
# open a dialog to run programs
Mod1 F2 :Exec fbrun
# volume settings, using common keycodes
# if these don't work, use xev to find out your real keycodes
176 :Exec amixer sset Master,0 1+
174 :Exec amixer sset Master,0 1-
160 :Exec amixer sset Master,0 toggle
# current window commands
Mod1 F4 :Close
Mod1 F5 :Kill
Mod1 F9 :Minimize
Mod1 F10 :Maximize
Mod1 F11 :Fullscreen
# open the window menu
Mod1 space :WindowMenu
# exit fluxbox
Control Mod1 Delete :Exit
# change to previous/next workspace
Control Mod1 Left :PrevWorkspace
Control Mod1 Right :NextWorkspace
# send the current window to previous/next workspace
Mod4 Left :SendToPrevWorkspace
Mod4 Right :SendToNextWorkspace
# send the current window and follow it to previous/next workspace
Control Mod4 Left :TakeToPrevWorkspace
Control Mod4 Right :TakeToNextWorkspace
# change to a specific workspace
Control F1 :Workspace 1
Control F2 :Workspace 2
Control F3 :Workspace 3
Control F4 :Workspace 4
Control F5 :Workspace 5
Control F6 :Workspace 6
Control F7 :Workspace 7
Control F8 :Workspace 8
Control F9 :Workspace 9
Control F10 :Workspace 10
Control F11 :Workspace 11
Control F12 :Workspace 12
# send the current window to a specific workspace
Mod4 F1 :SendToWorkspace 1
Mod4 F2 :SendToWorkspace 2
Mod4 F3 :SendToWorkspace 3
Mod4 F4 :SendToWorkspace 4
Mod4 F5 :SendToWorkspace 5
Mod4 F6 :SendToWorkspace 6
Mod4 F7 :SendToWorkspace 7
Mod4 F8 :SendToWorkspace 8
Mod4 F9 :SendToWorkspace 9
Mod4 F10 :SendToWorkspace 10
Mod4 F11 :SendToWorkspace 11
Mod4 F12 :SendToWorkspace 12
# send the current window and change to a specific workspace
Control Mod4 F1 :TakeToWorkspace 1
Control Mod4 F2 :TakeToWorkspace 2
Control Mod4 F3 :TakeToWorkspace 3
Control Mod4 F4 :TakeToWorkspace 4
Control Mod4 F5 :TakeToWorkspace 5
Control Mod4 F6 :TakeToWorkspace 6
Control Mod4 F7 :TakeToWorkspace 7
Control Mod4 F8 :TakeToWorkspace 8
Control Mod4 F9 :TakeToWorkspace 9
Control Mod4 F10 :TakeToWorkspace 10
Control Mod4 F11 :TakeToWorkspace 11
Control Mod4 F12 :TakeToWorkspace 12
@@ -0,0 +1 @@
fbsetroot|-foreground #7790aa -solid #7790aa|style|:0.0
@@ -0,0 +1,3 @@
[begin] (fluxbox)
[include] (/etc/X11/fluxbox/fluxbox-menu)
[end]
@@ -0,0 +1,2 @@
! The following line will prevent styles from setting the background.
! background: none
@@ -0,0 +1,31 @@
#!/bin/sh
#
# fluxbox startup-script:
#
# Lines starting with a '#' are ignored.
# Change your keymap:
xmodmap "/root/.Xmodmap"
# Applications you want to run with fluxbox.
# MAKE SURE THAT APPS THAT KEEP RUNNING HAVE AN ''&'' AT THE END.
#
# unclutter -idle 2 &
# wmnd &
# wmsmixer -w &
# idesk &
#
# Debian-local change:
# - fbautostart has been added with a quick hack to check to see if it
# exists. If it does, we'll start it up by default.
which fbautostart > /dev/null
if [ $? -eq 0 ]; then
fbautostart
fi
# And last but not least we start fluxbox.
# Because it is the last app you have to run it with ''exec'' before it.
exec fluxbox
# or if you want to keep a log:
# exec fluxbox -log "/root/.fluxbox/log"
@@ -0,0 +1,15 @@
[begin]
[shade]
[stick]
[maximize]
[iconify]
[raise]
[lower]
[settitledialog]
[sendto]
[layer]
[alpha]
[extramenus]
[separator]
[close]
[end]
+4
View File
@@ -0,0 +1,4 @@
#!/bin/bash
# menu launcher for fluxbox, just call any app you want to be started as menu
xlunch --voidclickterminate --rootwindowbackground --iconpadding 30 --textpadding 15 --paddingswap --leastmargin 20
Binary file not shown.

After

Width:  |  Height:  |  Size: 197 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 197 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 196 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 171 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 175 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 171 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 152 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 152 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 152 B

@@ -0,0 +1,107 @@
! Slax fluxbox theme
! (c) Tomas Matejicek <www.slax.org>
! common settings
*font: Bitstream Vera Sans-9
background: flat
background.color: #7790aa
toolbar.justify: left
toolbar.clock.justify: center
window.justify: center
menu.title.justify: center
menu.frame.justify: left
! window
window.focus.backgroundColor: #63b4fb
window.unfocus.backgroundColor: #ebebeb
window.focus.borderColor: #63b4fb
window.unfocus.borderColor: #ebebeb
window.borderWidth: 6
window.handleWidth: 0
! title
window.title.height: 18
window.title.focus: flat solid
window.title.focus.color: #63b4fb
window.label.focus: parentrelative
window.label.focus.textColor: #282828
window.title.unfocus: flat solid
window.title.unfocus.color: #ebebeb
window.label.unfocus: parentrelative
window.label.unfocus.textColor: #282828
! buttons
window.button.focus: flat solid
window.button.focus.color: #63b4fb
window.button.focus.picColor: #282828
window.button.pressed: sunken solid
window.button.pressed.color: #63b4fb
window.button.pressed.picColor: #000000
window.button.unfocus: flat solid
window.button.unfocus.color: #ebebeb
window.button.unfocus.picColor: #282828
window.close.pixmap: closefcs.png
window.close.unfocus.pixmap: closeunfcs.png
window.close.pressed.pixmap: closepr.png
window.iconify.pixmap: minfcs.png
window.iconify.unfocus.pixmap: minunfcs.png
window.iconify.pressed.pixmap: minpr.png
window.maximize.pixmap: maxfcs.png
window.maximize.unfocus.pixmap: maxunfcs.png
window.maximize.pressed.pixmap: maxpr.png
! taskbar
toolbar.height: 18
toolbar.bevelWidth: 0
toolbar.borderWidth: 3
toolbar.borderColor: #333333
toolbar: flat solid
toolbar.color: #333333
toolbar.clock: flat solid
toolbar.clock.color: #333333
toolbar.clock.textColor: white
toolbar.iconbar.empty: flat
toolbar.iconbar.empty.color: #333333
toolbar.iconbar.focused.borderWidth: 0
toolbar.iconbar.focused: flat
toolbar.iconbar.focused.color: #666666
toolbar.iconbar.focused.textColor: white
toolbar.iconbar.focused.justify: left
toolbar.iconbar.unfocused.borderWidth: 0
toolbar.iconbar.unfocused: flat
toolbar.iconbar.unfocused.color: #333333
toolbar.iconbar.unfocused.textColor: white
toolbar.iconbar.unfocused.justify: left
toolbar.button: flat solid
toolbar.button.color: #333333
toolbar.button.picColor: #61CA00
toolbar.button.pressed: flat solid
! menu
menu.title: flat solid
menu.title.color: #555555
menu.title.textColor: #dddddd
menu.title.justify: center
menu.bevelWidth: 4
menu.borderWidth: 6
menu.borderColor: #555555
menu.frame: flat solid
menu.frame.color: #bbbbbb
menu.frame.textColor: #000000
menu.frame.justify: left
menu.hilite: flat solid
menu.hilite.textColor: #ffffff
menu.hilite.color: #303030
menu.bullet: none
menu.bullet.position: right
@@ -0,0 +1,6 @@
#define command2_width 16
#define command2_height 16
static unsigned char command2_bits[] = {
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0xff, 0xe7, 0xff, 0xcf, 0xff,
0x9f, 0xff, 0x3f, 0xff, 0x3f, 0xff, 0x9f, 0xff, 0xcf, 0xff, 0xe7, 0xc1,
0xf7, 0xc1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff };