Comments (8)
Hi, if I understand you correctly, then you simply need
herbstclient set tabbed_max off
(run it to see its effect and then put it in your autostart
to keep it permanently)
from herbstluftwm.
I am an Emacs user and I really like how herbstluftwm handles the screen area, it is similar to how Emacs handles windows and hlwm is more reliable than the Emacs window manager EXWM.
My purpose is to get rid of the duplication of window titles in both the tab and the panel. Now the tab is hidden with "herbstclient set tabbed_max off", but the panel (I mean xfce4-panel) still shows more windows than the now hidden tab of the focused frame, it shows windows of all frames. And it has a problem for "cycle_all", it doesn't cycle in neighbouring order. With the tab, I have a visual feedback so I always know the next window to current window is the window that is to be cycled into.
How to show only window titles of the current focused frame in the panel (xfce4-panel or barpyrus)? Or at least place window on the panel in the same order of window on the tab, and during cycling follow the neighbouring order of windows on the panel?
The xfce-panel show window ordered by timestamp by default
https://askubuntu.com/questions/235784/fix-order-of-window-buttons-in-xfce-panel
Maybe we should have an option to cycle_all in the order of timestamp when the tab is hidden, instead of the current by neightbouring.
from herbstluftwm.
I will be very satisfied if I can get barpyrus showing the tab instead of showing above the frame. This is my config.py:
from barpyrus import widgets as W
from barpyrus.core import Theme
from barpyrus import lemonbar
from barpyrus import conky
import sys
# Copy this config to ~/.config/barpyrus/config.py
# set up a connection to herbstluftwm in order to get events
# and in order to call herbstclient commands
hc = hlwm.connect()
# get the geometry of the monitor
monitor = sys.argv[1] if len(sys.argv) >= 2 else 0
(x, y, monitor_w, monitor_h) = hc.monitor_rect(monitor)
height = 32 # height of the panel
width = monitor_w # width of the panel
hc(['pad', str(monitor), str(height)]) # get space for the panel
# you can define custom themes
grey_frame = Theme(bg = '#303030', fg = '#EFEFEF', padding = (3,3))
bar = lemonbar.Lemonbar(
geometry=(x, y, width, height),
font = '-*-dejavusansm nerd font mono-*-*-*-*-17-*-*-*-*-*-*-*',
symbol_font = '-*-dejavusansm nerd font mono-*-*-*-*-17-*-*-*-*-*-*-*',
)
# Widget configuration:
bar.widget = W.ListLayout([
W.RawLabel('%{l}'),
hlwm.HLWMTags(hc, monitor),
W.RawLabel('%{c}'),
############################
# I want the tab shown here, all window titles in the same order as the in the tab
############################
grey_frame(hlwm.HLWMWindowTitle(hc)),
W.RawLabel('%{r}'),
conky.ConkyWidget('df /: ${fs_used_perc /}%'),
grey_frame(W.DateTime('%d. %B, %H:%M')),
])
from herbstluftwm.
And it has a problem for "cycle_all", it doesn't cycle in neighbouring order.
I think the WM does not have any control about the order of buttons in the task bar (and also, the window manager can't restrict it further).
But otherwise, I have the impression that you are just trying to rebuild what's in the tab-bar already. Did you try to play with herbstclient attr theme.title_when
(it can hide the window titles depending on how many tabs there are)
from herbstluftwm.
I have the impression that you are just trying to rebuild what's in the tab-bar already. Did you try to play with
herbstclient attr theme.title_when
(it can hide the window titles depending on how many tabs there are)
Yes, I have managed to hide the tab. Now I only wish the tab-bar can be placed inside the barpyrus panel. Because I don't need too much other information on the panel, so the panel is mostly empty.
from herbstluftwm.
I don't think this is related to herbstluftwm, because the panel is not part of the window manager, but you can basically use herbstclient list_clients
to list windows in current tag and add them as buttons to your panel.
from herbstluftwm.
@yousufinternet Yes, perhaps it is more related to barbyrus. So I should do the following to achieve my goal:
- list windows in current focused βFrameβ
- get window titles and add them to barbyrus, and make the title clickable
- update the window title on focus change
Currently to the above done is beyond my skill level.
from herbstluftwm.
The list of clients in the focused frame is given by the command:
herbstclient list_clients --frame='@' --title
But it is more demanding (both with respect to skill and time) to implement it in barpyrus (and in particular to update the panel in the right moment). Sorry.
from herbstluftwm.
Related Issues (20)
- Emacs does not show tabs in initial frame HOT 3
- Moving tabbed windows within the tabbed_max layout HOT 1
- Test fail: Mode_switch disappeared HOT 2
- Focus issue with monitor at unusual position HOT 3
- Fullscreen applications (such as games) become minimised after switching between tags, and constantly require use of unminimize.sh HOT 5
- Remove gap when 1 window and 1 frame in the tag or max layout 1 frame. HOT 3
- Can we set theme attribute via rules?
- Default mouse button behavior without clients?
- Proposal for significant overhaul and potential integration of herbstluftwm HOT 18
- _NET_WORKAREA not set as required by freedesktop.org standard HOT 2
- Question: Is there a way to assign a program to a certain tag ONLY on startup? HOT 3
- Arabic characters not supported in window/tab titles HOT 2
- Previously transparent frames are rendered with incorrect size when `frame_bg_transparent=off` HOT 1
- invisible borders around context menu HOT 3
- global Mod4-Ctrl-p binding not working when "About Xfce" window is the current window
- Keybind to spawn new application not working on an empty tag HOT 2
- How do I focus an empty frame with the mouse?
- Close button on "titlebar" HOT 4
- floating window not working anymore HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. πππ
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google β€οΈ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from herbstluftwm.