Smb4K README (version 3.0.x)
============================

Smb4K is an advanced network neighborhood browser and Samba share mounting
utility. It is based on the KDE Frameworks 5 and Samba's client library
(libsmbclient). It scans your network neighborhood for all available workgroups, 
servers and shares and can mount all desired shares to your local file system. 
It is released under the terms of the GNU General Public License, version 2 
(GPL v2+). Linux, FreeBSD and its derivatives (e. g. GhostBSD and TrueOS), 
NetBSD and DragonFly BSD are officially supported.

Features
--------

- Scanning for (active) workgroups, hosts, and shares
- Support of the CIFS (Linux®) and SMBFS (FreeBSD) file system
- Mounting and unmounting of shares
- Access to the files of a mounted share using a file manager or terminal
- Auto-detection of external mounts and unmounts
- Remounting of previously used shares on program start
- Miscellaneous infos about remote network items and mounted shares
- Network search
- Preview of the contents of a share
- Default login
- Special handling of homes shares
- Ability to bookmark favorite shares
- System tray widget
- Support of advanced mount options
- Support of printer shares
- KWallet support
- Synchronization of a remote share with a local copy and vice versa
- Ability to define custom options for individual servers and shares
- Laptop support through the Solid hardware device framework
- Wake-On-LAN capabilities
- Plasmoid for desktop integration
- Profiles for different network neighborhood setups


Translations
------------

Translations are provided by the KDE translators.

Supported operating systems
---------------------------

Smb4K officially supports Linux, FreeBSD and its derivatives (e. g. 
GhostBSD and TrueOS), NetBSD and DragonFly BSD.

Requirements
------------

To compile Smb4K, you need:

- CMake (version >= 3.2, https://www.cmake.org)
- GNU Compiler Collection</ulink> (version >= 4.0, https://gcc.gnu.org)
  or clang/LLVM</ulink> (version >= 3.0, http://clang.llvm.org)

To be able to use the main application of Smb4K you need at least Qt, 
version >= 5.6.0 and KDE Frameworks 5 (KF5, version >= 5.25.0, 
https://www.kde.org). The provided plasmoid is known to run with Qt 
version 5.6.1, KF5 version 5.36 and Plasma version 5.8.9. Earlier 
versions of KF5 and Plasma might work as well but have not been tested.

Smb4K build depends on:

- QtCore, QtGui, QtWidgets, QtTest, QtNetwork, QtPrintSupport, QtQml
- KConfig, KAuth, KDocTools, KIconThemes, KWidgetsAddons, KI18n, 
  KCompletion, KCoreAddons, Solid, KIO, KNotifications, KXmlGui, 
  KJobWidgets, KWallet;, KDBusAddons, KConfigWidgets, KNotifications, 
  KWindowSystem
- libsmbclient
  
It also runtime depends on:

- KPlasma
- LinuxCIFS utils (&Linux; only, https://wiki.samba.org/index.php/LinuxCIFS_utils)

To enable full functionality, you may also want to install these programs:

- rsync (https://rsync.samba.org)

The full list of changes can be found in the Git log at 
https://cgit.kde.org/smb4k.git. A summary can be found in the ChangeLog file
in the tarball.


Configuration, Compilation and Installation
-------------------------------------------

To configure, compile and install Smb4K follow the steps below. Make sure, 
you have read the Requirements section before you start.

1. Download the version of Smb4K you are interested in and extract the 
   source tarball:

   $ tar xvfj smb4k-x.y.z.tar.xz

2. Replace x.y.z with the version number. Change into the source code 
   directory and create a build directory:

   $ cd smb4k-x.y.z
   $ mkdir build

3. Change into the build directory:

   $ cd build

4. Configure the source:

   $ cmake -DCMAKE_INSTALL_PREFIX=`qtpaths --install-prefix` \
     -DCMAKE_BUILD_TYPE=Release ..

   If Smb4K cannot find some shared libraries after the installation (e.g. 
   if you are using Kubuntu 16.04), it is necessary to add the 
   -DKDE_INSTALL_PLUGINDIR argument to the command line above:

   $ cmake -DCMAKE_INSTALL_PREFIX=`qtpaths --install-prefix` \
     -DKDE_INSTALL_PLUGINDIR=`qtpaths --plugin-dir` -DCMAKE_BUILD_TYPE=Release ..

   If you want to compile Smb4K with debug symbols, replace Release by Debug.

5. There are some Smb4K specific CMake arguments you might be interested in:

   -DINSTALL_HEADER_FILES=ON/OFF    Install the core header files. This is off 
                                    by default.
   -DINSTALL_PLASMOID=ON/OFF        Install the plasmoid. This is on by default.

6. After the configuration, compile and install Smb4K:

   $ make && sudo make install

   If you want to be able to remove Smb4K with your package manager later on, 
   use checkinstall instead of make install. The package should be present in 
   your distribution's repository:

   $ make && sudo checkinstall


Debugging the Source Code
-------------------------

If you experience crashes or similar and want to debug the source code yourself,
compile the source code with debugging symbols. The procedure is similar to the
one described in the section above, except that you need to modify the cmake 
command slightly:

   $ cmake -DCMAKE_INSTALL_PREFIX=`qtpaths --install-prefix` \
     -DCMAKE_BUILD_TYPE=Debug ..

If you found the cause for a bug, please let us know. A backtrace or a patch
will be much appreciated.

Help and Support
----------------

If you encounter problems when using Smb4K and/or need help or support, please
contact us in our 'Help' (https://sourceforge.net/p/smb4k/discussion/help/) or 
'General Discussion' (https://sourceforge.net/p/smb4k/discussion/general/) 
forums.

Bugs
----

You are strongly encouraged to commit a bug report to
https://bugs.kde.org/enter_bug.cgi?product=Smb4k&format=guided, if you find a problem.

Copyright
---------

Smb4K is released under the terms of the GNU General Public License (GPL),
version 2. A copy of the license is available in the file COPYING.

Latest Version
--------------

The latest stable version of Smb4K can always be downloaded from
https://sourceforge.net/projects/smb4k/files/latest/download

