aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2022-07-31Fix infinite loop in Menu::cycleitems()Mathias Gumz1-6/+15
When a menu contains no selectable item (example given: a "list" of user styles and the only available one is already selected), cycling through the menu will lead to an infinite loop and thus a disfunctional fluxbox. This commit addresses the issue by checking if there is any selectable item before entering the cycling stage. Discovered by Sébastien Ballet[1]. [1]: https://sourceforge.net/p/fluxbox/bugs/1185/
2022-04-18Fix build-system: fix "make check"Paolo E. Mazzon1-5/+10
make check is normally not issued if you build from source but (at least) the Debian build system fails upon deb package creation. Similarly to the 0820bcb640e9030a99a4c47119df6b9305e632da commit use xxx_LDADD instead of xxx_LDFLAGS.
2022-04-18Shortcut to windows - Fix override of existing shortcutRichard Tamin1-1/+1
2022-04-18Initial implementation of shortcut to windowsRichard Tamin9-8/+178
[PURPOSE] In editors such as vi and emacs, a user can mark a line in a file with a shortcut key and afterwards jump back to that line using the shortcut. The idea is extended to opened windows. A user can assign a keyboard shortcut to an opened window. Afterwards, the shortcut can be used to switch focus back to the marked window. Such shortcuts save the user from pressing "alt+tab" multiple times to cycle through windows until the desired one is found. [EXAMPLE USAGE] The following binding is added to file "~/.fluxbox/keys": Mod1 m ARG :MarkWindow Mod1 g ARG :GotoMarkedWindow User enters "alt+m x" to mark the currently focused window with shortcut key 'x' User enters "alt+g x" to switch focus to the marked window [IMPLEMENTATION SUMMARY] - Two new commands were added :MarkWindow and :GotoMarkedWindow - Keys.cc was modified: - addBinding() method supports parsing an argument placeholder where the user can pass in a shortcut key - doAction() method forwards the shortcut key to the command to execute - Class Keys::t_key was modified to recognize a placeholder key - New class ShortcutManager was added to maintain mapping of shortcut keys to marked windows
2022-04-18fix: Warn & attempt fallback for unsupported locale in text property conversionGlen Whitney2-24/+30
2022-04-18Fix encoding of _NET_DESKTOP_NAMESMathias Gumz1-7/+13
This commit fixes the encoding of _NET_DESKTOP_NAMES to match the specification[1]: … The names of all virtual desktops. This is a list of NULL-terminated strings in UTF-8 encoding … We use Xutf8TextListToTextProperty to transform a list of strings (NULL-terminated) into one XTextProperty which is lacking the last NULL-Termination … at least that is what observation tells us and what is written in the documentation of that function[2]: … A final terminating null byte is stored at the end of the value field of text_prop_return but is not included in the nitems member. As a result, the way *fluxbox* is storing desktop names and the way other WMs are storing them and how other tools like pagers etc are expecting the content to be formated is slightly off. This commit addresses that issue by adding one more "artificial" desktop name and thus producing the desired content for _NET_DESKTOP_NAMES. [1]: https://specifications.freedesktop.org/wm-spec/wm-spec-1.4.html#idm46439038971488 [2]: https://www.x.org/releases/X11R7.5/doc/man/man3/Xutf8TextListToTextProperty.3.html
2021-07-25Add RelativeSmart documentation to the asciidoc source. Thanks toMark Tiefenbruck2-1/+8
Alexey Ugnichev for pointing out its disappearance.
2021-07-07Patch from Thomas LuebkingMark Tiefenbruck4-12/+50
Documents Opaque Resizing and adds a fancy config menu item
2021-07-06Patch from Glen WhitneyMark Tiefenbruck6-8/+25
A priori, there is no reason why the workspace warping functionality should treat the horizontal and vertical directions at all differently. Even if traditionally horizontal warping was more common, for some in recent times as aspect ratios tend to become larger, stacking virtual workspaces vertically may make more sense. Similarly, some might want to traverse an array of workspaces in column-major, rather than row-major, order. Prior to this commit, there were extra parameters for vertical warping (a controlling flag and an offset for how many workspaces to jump) as opposed to horizontal warping. Also it was impossible to allow vertical warping while disallowing vertical warping. This commit makes all of the parameters and behavior for horizontal and vertical warping equivalent. For backwards compatibility, there is an overarching flag controlling whether warping occurs at all, as well as a separate control flag and offset for each of horizontal and vertical warping. The relevant init file resources and default values are: session.screen0.workspaceWarping: true session.screen0.workspaceWarpingHorizontal: true session.screen0.workspaceWarpingVertical: true session.screen0.workspaceWarpingHorizontalOffset: 1 session.screen0.workspaceWarpingVerticalOffset: 1
2021-07-06Patch from Thomas LuebkingMark Tiefenbruck5-33/+57
Adds (secret) opaque resize mode. It sure would be nice if it was documented.... The relevant init file resources and their default values are: session.screen0.opaqueResize: False session.screen0.opaqueResizeDelay: 40
2021-07-06Patch from Denis GantsevMark Tiefenbruck1-0/+4
Fluxbox would segfault when no fonts were available. Now it just exits with an error.
2021-07-06Patch from Dmytro BagriiMark Tiefenbruck1-2/+2
Fix fbrun completion search for last directory in PATH
2021-07-06Patch from Bo Simonsen.Mark Tiefenbruck3-6/+18
Improve switching between 12H and 24H in Clock Tool configuration Having: session.screen0.strftimeFormat: %d-%m-%y %02k:%M The switch[1] between 12H and 24H did not work due to the digits (02).
2021-07-06Patch from Bo Simonsen.Mark Tiefenbruck6-13/+34
Max size per client (setMaxSizePerClient) was computed for iconbar.alignment = Relative not taking into account that a fixed size can be given when iconbar.alignment = Left/Right. In a "recent" change, relative alignment was changed, to better handle items with long titles. This is breaking existing behavior, the new behavior is (with this commit) now denoted RelativeSmart.
2020-04-26nls/fr_FR: Fix encodingSébastien Ballet2-2/+2
The encoding of nls/fr_FR/Translation.m is UTF-8 (see 96c52db). This commit puts the correct "codeset" into place.
2020-04-19Move the systray ordering documentation to the asciidoc fileJan Sucan2-2/+13
The .in file is generated from the .txt file.
2020-04-19Handle sizehint base_width / base_height being less than 0Bo Simonsen1-2/+3
Some applications supply -1 in base_width / base_height. One example is the Preferences dialog of pcmanfm-qt: WM_NORMAL_HINTS(WM_SIZE_HINTS): ... program specified base size: -1 by -1 Without this commit the program will crash due to overflow of unsigned int.
2020-04-19Synchronize manpages .in files with their .txt filesJan Sucan5-9/+229
The .in files are generated from the .txt files.
2020-04-19Reformat a paragraph in doc/asciidoc/README.txtJan Sucan1-4/+3
2020-04-19Update xmlto URLJan Sucan1-1/+1
fedorahosted.org was retired on March 1st, 2017.
2020-04-09Add description of the system tray ordering to the fluxbox(1) manpageJan Sucan1-0/+7
2020-04-05Add missing scope to a method definitionJan Sucan1-1/+1
2020-04-05Remove branch readme (easier merging).Gregor Bollerhey1-18/+0
2020-04-05Corrected typo in github-readme.Gregor Bollerhey1-1/+1
2020-04-05Const ref instead of const for string vector.Gregor Bollerhey1-3/+3
2020-04-05Ignore case when matching window classnames.Gregor Bollerhey1-2/+5
2020-04-05Corrected comment (now member and returns nothing).Gregor Bollerhey1-2/+2
2020-04-05Use FbTk::StringUtils instead of own tokenizer.Gregor Bollerhey1-28/+9
2020-04-05Sort on remove isn't needed.Gregor Bollerhey1-2/+0
2020-04-05Icon order now is property of the SystemTray.Gregor Bollerhey2-68/+64
This way it is only parsed once in the constructor. Updating the TrayWindow order is now a method which is called once when the icon is created. sortClients/rearrange is now only called on adding and removing icons.
2020-04-05XFree must not be called with 0.Gregor Bollerhey2-2/+7
2020-04-05Thought BadWindow was a return status on failure.Gregor Bollerhey1-5/+3
In fact its 0, thats why fluxbox sometimes crashes when freeing the malformed structure.
2020-04-05Branch specific readme.Gregor Bollerhey1-0/+18
2020-04-05Store order in TrayWindow instead of using expensive comperator.Gregor Bollerhey1-13/+12
2020-04-05Use XFree to free memory (not the default "delete").Gregor Bollerhey1-1/+5
2020-04-05Make systray icon pinning available.Gregor Bollerhey2-5/+91
The user options screenname.systray.pinLeft and screenname.systray.pinRight in .fluxbox/init are read as comma sperated list of window classnames. While preserving the order of the lists, systray icons are sorted so that pinLeft'ed classnames appear left and vice versa.
2019-08-06explicitly expect unsigned intChristian Hesse1-1/+1
This fixes: src/FbTk/XftFontImp.cc: In member function ‘virtual bool FbTk::XftFontImp::load(const string&)’: src/FbTk/XftFontImp.cc:81:53: error: no matching function for call to ‘max(unsigned int, int)’
2019-07-21vim syntax: Add ftdetect to Vimball creation in Makefileboweevil1-1/+2
2019-07-21added 3rd/vim/syntax/fluxstyle.vimboweevil3-1/+44
2019-07-07zero check now uses std::max()ryluchs171-2/+2
2019-07-06removed potential division by zero with size zero fontsRyan Luchs1-1/+1
2019-04-22Fix menu docs, esp. items allowed in window menuGlen Whitney2-8/+9
2019-01-08Update Vietnamese translationNguyễn Thái Ngọc Duy1-49/+91
2018-03-14fbrun, add horizontal padding optionPete Beardmore3-0/+14
2018-03-14fbtk, textbox, support horizontal paddingPete Beardmore2-13/+36
-add 'setPadding' function
2018-03-14fbtk, textbox, overflow selection deselectionPete Beardmore1-2/+27
changes the selection's deselection mechanism for oversized (e.g larger than window width) text new behaviour ensures the maximum selection width remains whilst the selection length is 'oversized'. only when the selection length has a width less than the window width will the selection (i.e. the highlight / inverted colours) reduce in size this is in contrast to the existing approach which would immediately decrease an oversized selection down to nothing visually, leaving the remainder of the selection 'off screen'. this 'looks like nothing is selected' when in fact it is, gives a poor UX
2018-03-14fbtk, textbox, fix selection release on clickPete Beardmore1-0/+2
2018-03-14fbtk, textbox, limit selection height to font sizePete Beardmore1-1/+1
2018-03-14fbtk, textbox, fix cursor position and sizePete Beardmore1-1/+1
-use font height for cursor -prefer 'descent to ascent' coverage as opposed to 'baseline plus way too high'!
2018-03-14fbtk, textbox, fix text vertical centeringPete Beardmore1-1/+1