all repos — fluxbox @ eafc85bca73ed4132a6688a92f67a7d226875c22

custom fork of the fluxbox windowmanager

removed old theme engine and fixed some deps
fluxgen fluxgen
commit

eafc85bca73ed4132a6688a92f67a7d226875c22

parent

511909eee628899b8404058e1d182b37deb9a2bf

1 files changed, 16 insertions(+), 34 deletions(-)

jump to
M src/Screen.hhsrc/Screen.hh

@@ -22,17 +22,14 @@ // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING

// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER // DEALINGS IN THE SOFTWARE. -// $Id: Screen.hh,v 1.83 2003/04/25 09:07:08 rathnor Exp $ +// $Id: Screen.hh,v 1.84 2003/04/25 11:02:57 fluxgen Exp $ #ifndef SCREEN_HH #define SCREEN_HH -#include "Theme.hh" #include "BaseDisplay.hh" -#include "Workspace.hh" #include "Resource.hh" #include "Subject.hh" -#include "FbWinFrameTheme.hh" #include "MultLayers.hh" #include "XLayerItem.hh" #include "ToolbarHandler.hh"

@@ -48,15 +45,12 @@ #include <vector>

#include <fstream> #include <memory> -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif // HAVE_CONFIG_H - class Netizen; class Toolbar; class FbWinFrameTheme; class RootTheme; class WinClient; +class Workspace; namespace FbTk { class MenuTheme;

@@ -64,7 +58,7 @@ class Menu;

class ImageControl; }; -/// Handles screen connection and screen clients +/// Handles screen connection, screen clients and workspaces /** Create a toolbar and workspaces, handles switching between workspaces and windows */

@@ -97,9 +91,7 @@ inline bool doFocusNew() const { return *resource.focus_new; }

inline bool doFocusLast() const { return *resource.focus_last; } inline bool doShowWindowPos() const { return *resource.show_window_pos; } bool antialias() const { return *resource.antialias; } - inline GC getOpGC() const { return theme->getOpGC(); } - - inline const FbTk::Color *getBorderColor() const { return &theme->getBorderColor(); } + inline FbTk::ImageControl *getImageControl() { return image_control; } const FbTk::Menu * const getRootmenu() const { return m_rootmenu.get(); } FbTk::Menu * const getRootmenu() { return m_rootmenu.get(); }

@@ -111,10 +103,10 @@ inline Fluxbox::FocusModel getFocusModel() const { return *resource.focus_model; }

inline bool &doSlitAutoHide() { return *resource.slit_auto_hide; } inline const bool &doSlitAutoHide() const { return *resource.slit_auto_hide; } -#ifdef SLIT + inline Slit *getSlit() { return m_slit.get(); } inline const Slit *getSlit() const { return m_slit.get(); } -#endif // SLIT + inline Slit::Placement getSlitPlacement() const { return *resource.slit_placement; } inline Slit::Direction getSlitDirection() const { return *resource.slit_direction; } inline void saveSlitPlacement(Slit::Placement p) { resource.slit_placement = p; }

@@ -136,13 +128,7 @@

const FbTk::Menu *getWorkspacemenu() const { return workspacemenu.get(); } FbTk::Menu *getWorkspacemenu() { return workspacemenu.get(); } - inline unsigned int getHandleWidth() const { return theme->getHandleWidth(); } - inline unsigned int getBevelWidth() const { return theme->getBevelWidth(); } - inline unsigned int getFrameWidth() const { return theme->getFrameWidth(); } - inline unsigned int getBorderWidth() const { return theme->getBorderWidth(); } - inline unsigned int getBorderWidth2x() const { return theme->getBorderWidth()*2; } - inline unsigned int getCurrentWorkspaceID() const { return current_workspace->workspaceID(); } - + inline unsigned int getCurrentWorkspaceID() const; Pixmap rootPixmap() const { return m_root_pm; } /* maximum screen surface

@@ -234,14 +220,12 @@ inline void saveDateFormat(int f) { resource.date_format = f; }

inline bool isClock24Hour() { return resource.clock24hour; } inline void saveClock24Hour(bool c) { resource.clock24hour = c; } - inline Theme::WindowStyle *getWindowStyle() { return &theme->getWindowStyle(); } - inline const Theme::WindowStyle *getWindowStyle() const { return &theme->getWindowStyle(); } - inline FbWinFrameTheme &winFrameTheme() { return m_windowtheme; } - inline const FbWinFrameTheme &winFrameTheme() const { return m_windowtheme; } + inline FbWinFrameTheme &winFrameTheme() { return *m_windowtheme.get(); } + inline const FbWinFrameTheme &winFrameTheme() const { return *m_windowtheme.get(); } inline FbTk::MenuTheme *menuTheme() { return m_menutheme.get(); } inline const FbTk::MenuTheme *menuTheme() const { return m_menutheme.get(); } + inline const RootTheme &rootTheme() const { return *m_root_theme.get(); } - const Theme *getTheme() const { return theme; } FluxboxWindow *getIcon(unsigned int index); FbTk::MultLayers &layerManager() { return m_layermanager; } const FbTk::MultLayers &layerManager() const { return m_layermanager; }

@@ -270,8 +254,10 @@ void removeClient(WinClient &client);

std::string getNameOfWorkspace(unsigned int workspace) const; void changeWorkspaceID(unsigned int); - void sendToWorkspace(unsigned int workspace, FluxboxWindow *win=0, bool changeworkspace=true); - void reassociateWindow(FluxboxWindow *window, unsigned int workspace_id, bool ignore_sticky); + void sendToWorkspace(unsigned int workspace, FluxboxWindow *win=0, + bool changeworkspace=true); + void reassociateWindow(FluxboxWindow *window, unsigned int workspace_id, + bool ignore_sticky); void prevFocus() { prevFocus(0); } void nextFocus() { nextFocus(0); } void prevFocus(int options);

@@ -372,9 +358,7 @@ // Screen global so it works for sticky windows too.

FocusedWindows focused_list; FocusedWindows::iterator cycling_window; -#ifdef SLIT std::auto_ptr<Slit> m_slit; -#endif // SLIT Workspace *current_workspace; std::auto_ptr<FbTk::Menu> workspacemenu;

@@ -386,11 +370,8 @@ WorkspaceNames workspaceNames;

Workspaces workspacesList; Window auto_group_window; - - //!! - Theme *theme; ///< obsolete - FbWinFrameTheme m_windowtheme; + std::auto_ptr<FbWinFrameTheme> m_windowtheme; std::auto_ptr<FbTk::MenuTheme> m_menutheme; struct ScreenResource {

@@ -432,6 +413,7 @@

std::auto_ptr<RootTheme> m_root_theme; ToolbarHandler *m_toolbarhandler; Pixmap m_root_pm; + };