Bespin

Be-Shell/Bespin

Source (link to git-repo or to original if based on someone elses unmodified work): Add the source-code for this project on opencode.net

97
Score 82.7%
Description:

A widget style for Qt4
- Pretty configurable
- More Mac than Windows - but no clone at all
- Don't ask me to port Baghira ;-)

As for what to do with GTK+ applications, have a look here:
http://arch-stuff.org/content/show.php?content=134123

It suites the default look pretty well. Set the "Default" titlebar background colors to 239/239/240 and the text to something dark/gray.

---
Thalics complete Bespin Guide is afaik still down, sorry :-(
Last changelog:

6 years ago

SVN PATH UPDATE
Due to sf.net updates, the code is now tracked here:
svn checkout svn://svn.code.sf.net/p/cloudcity/code/ cloudcity-code

C

thomas12777

5 years ago

Nope, that doesn't explain any failure either - must be a build failure.

Please do

cd build
VERBOSE=1 make 2>&1 | tee make.log

and either send me make.log or paste it eg. at paste.kde.org

Report

kalmar

5 years ago

with the latest revision (1719) I get

ASSERT failure in QList<T>::at: "index out of range", file /usr/include/qt4/QtCore/qlist.h, line 469
Aborted

when choosing any SlideTransitions from {Door, Slide, Roll}
(this is exactly what I got when I tried to add my own transition to GUI, but I thought I just sucked at programming)

Report

C

thomas12777

5 years ago

No, but I do - avoided in r1720 and fixed in r1721
The context help mechanism wasn't robust enough against short help lists.

Sorry and many thanks for the notice (hadn't tested the config dialog myself after adding the items - seemed foolproof ;-)

Report

kalmar

5 years ago

Could You please add a Slide Right/Left Tab transition, something along lines of

case SlideRight:
{
tabPix[2] = tabPix[1];
QPainter p(&tabPix[2]);
int w = tabPix[0].width()*(int)(ms)/(2*duration)*(int)(ms)/(duration);
//movement ala InQuad

float quote = 1 - ((float)_timeStep / (duration-ms));
//opacity linearly

p.drawPixmap(w,0,FX::fade(tabPix[0],quote),0,0,tabPix[0].width(),tabPix[0].height());
break;
}

Well most preferably style should detect which tab has been activated (to the right, or to the left of the previously active) and apply the appropriate transition ;-)

How do You like the idea?

Report

C

thomas12777

5 years ago

you mean like to fix:

//TODO handle different bar positions (currently assumes top)

;-)

Report

C

thomas12777

5 years ago

see r1718 - please notice that the tab position is not necessarily detectable (expect it to be not so for konsole/yakuake)

Report

kalmar

5 years ago

Well, not exactly what I meant, but this was blazing fast! ;-)

I meant a transition, of one tab pushing the other that will actually _mimic_ the horizontal/vertical tab order, that is:

Suppose for now that the tab bar is horizontal.

if I switch to a tab LEFT of the currently active, then make the image of the new "slide in" from LEFT, and push the image of the old tab out of sight.

something like:

tabPix[2] = tabPix[1];
QPainter p(&tabPix[2]);
int w = tabPix[1].width()*(int)(ms)/(duration)*(int)(ms)/(duration);
p.drawPixmap(w,0,tabPix[0],0,0,tabPix[0].width(),tabPix[0].height());
p.drawPixmap(0,0,tabPix[1],tabPix[1].width() - w, 0 , w , tabPix[1].height());
break;

However, if the newly activated tab is to the RIGHT of the currently active, "slide in" from the RIGHT, and push the current image to the left.

Maybe the more appropriate name is "Shift Left/Right"?

Report

kalmar

5 years ago

Well, not exactly what I meant, but this was blazing fast! ;-)

I meant a transition, of one tab pushing the other that will actually _mimic_ the horizontal/vertical tab order, that is:

Suppose for now that the tab bar is horizontal.

if I switch to a tab LEFT of the currently active, then make the image of the new "slide in" from LEFT, and push the image of the old tab out of sight.

something like:

tabPix[2] = tabPix[1];
QPainter p(&tabPix[2]);
int w = tabPix[1].width()*(int)(ms)/(duration)*(int)(ms)/(duration);
p.drawPixmap(w,0,tabPix[0],0,0,tabPix[0].width(),tabPix[0].height());
p.drawPixmap(0,0,tabPix[1],tabPix[1].width() - w, 0 , w , tabPix[1].height());
break;

However, if the newly activated tab is to the RIGHT of the currently active, "slide in" from the RIGHT, and push the current image to the left.

Maybe the more appropriate name is "Shift Left/Right"?

Report

kalmar

5 years ago

Well, not exactly what I meant, but this was blazing fast! ;-)

I meant a transition, of one tab pushing the other that will actually _mimic_ the horizontal/vertical tab order, that is:

Suppose for now that the tab bar is horizontal.

if I switch to a tab LEFT of the currently active, then make the image of the new "slide in" from LEFT, and push the image of the old tab out of sight.

something like:

tabPix[2] = tabPix[1];
QPainter p(&tabPix[2]);
int w = tabPix[1].width()*(int)(ms)/(duration)*(int)(ms)/(duration);
p.drawPixmap(w,0,tabPix[0],0,0,tabPix[0].width(),tabPix[0].height());
p.drawPixmap(0,0,tabPix[1],tabPix[1].width() - w, 0 , w , tabPix[1].height());
break;

However, if the newly activated tab is to the RIGHT of the currently active, "slide in" from the RIGHT, and push the current image to the left.

Maybe the more appropriate name is "Shift Left/Right"?

Report

kalmar

5 years ago

Well, not exactly what I meant, but this was blazing fast! ;-)

I meant a transition, of one tab pushing the other that will actually _mimic_ the horizontal/vertical tab order, that is:

Suppose for now that the tab bar is horizontal.

if I switch to a tab LEFT of the currently active, then make the image of the new "slide in" from LEFT, and push the image of the old tab out of sight.

something like:

tabPix[2] = tabPix[1];
QPainter p(&tabPix[2]);
int w = tabPix[1].width()*(int)(ms)/(duration)*(int)(ms)/(duration);
p.drawPixmap(w,0,tabPix[0],0,0,tabPix[0].width(),tabPix[0].height());
p.drawPixmap(0,0,tabPix[1],tabPix[1].width() - w, 0 , w , tabPix[1].height());
break;

However, if the newly activated tab is to the RIGHT of the currently active, "slide in" from the RIGHT, and push the current image to the left.

Maybe the more appropriate name is "Shift Left/Right"?

Report

DiscipleOfDante

5 years ago

While I am fairly certain the answer is no, I have to ask, is there any plan to add gtk styles for this, similar to oxygen-gtk and qtcurve-gtk? Bespin is the most beautiful Qt style in existence, and the only one that really gives Qt applications a modern, attractive feel, but it lacks GTK support so integrating GTK applications with KDE is impossible while using it.

Report

C

thomas12777

5 years ago

tl;dr: no, sorry :-(

Gtk+ is EOL and Qt4 is close to it.

Aside that, Gtk+ can not deal with several configurations typical for Bespin, because many elements hardcode the textcolor (to black) and Gtk+ styling does not even allow the kind of deep impact that would be necessary to "fix" that. As result, elements became unreadable when eg. inverting colors of headers or on hovering.

Currently I frankly bet on everyone (such as recently LXDE or Wireshark) aborting Gtk in favor of Qt anyway =)

Report

DiscipleOfDante

5 years ago

Two things. One LXDE is not shucking GTK, it is merely adding a Qt version as, by amalgamating Razor-Qt. So there will be a Qt and GTK version of LXDE. Two, Cinnamon, MATE, and XFCE are not leaving GTK at all, from what I've read, in fact I have asked about MATE and Cinnamon and they have replied no, and GTK+ will probably just get forked for DEs like this to continue.

Report

DiscipleOfDante

5 years ago

And before anyone says it, Orta is NOT viable for GTK integration. Even with the default look of Bespin Orta looks almost entirely different.

Report

SvenArcher

5 years ago

Hi Thomas.

I know it's a long shot, but I just have to ask...

A long time ago, it was possible to add the "filter bar" text input box to the main toolbar of the old Konqueror file manager.

Currently with Dolphin, the filter bar opens below the icon view.

Is it feasible and/or desirable to add a Bespin workaround that would place a Bespin stylized filter input into the Dolphin toolbar?

Report

C

thomas12777

5 years ago

> Is it feasible and/or desirable to add a Bespin workaround that would place a Bespin stylized filter input into the Dolphin toolbar?

There's one filterbar per view, that means two if you spliit the view and [n,2n] for n tabs.

There's only one toolbar ...

* You'd be in a conflict for a split view, since it's not clear which filterbar is currently active
* The toolbar can be vertically layouted (at runtime), in this case the filterbar should rather not be inside.
* Dolphin has two toolbars (main and search), ie. you've to select the "proper" one.

Doing this means to keep track of view/filterbar combinations and the focused view (to show the proper filterbar which is no longer logically parented by the attached view - fighting dolphins own and unrelated visibility management of the filterbar) as well as deleting the (now reparented) filterbar with the view.

That as long as the code does not change in dolphin...

It is probably possible, but rather not trivial or robust.

Btw, i guess actually the searchbar should be on the top right shoulder, not the filter? ;-)
(Which mostly bears the same issues since it's as well attached to a view and not a global instance)

Report

sumski

6 years ago

I am already guessing the answer is no :-) but let me ask is there any plan/are you willing to add appmenu support for the deco?
Thanks!

Report

gadeshi

6 years ago

Compiling under KUbuntu Raring (QT4 & 5 installed):

==================== Bespin interactive configuration ====================

Seems you have cmake.
In addition to the style, you can have a KWin decoration,
a mac-like menu plasmoid and config plugins IFF you have KDE....

--> Do you want to compile with KDE support? [Y/n]
-- Found Qt-Version 5.0.1 (using /usr/bin/qmake)
CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake files:
QT_QT_INCLUDE_DIR
used as include directory in directory /opt/builds/cloudcity-code/build/CMakeFiles/CMakeTmp

CMake Error: Internal CMake error, TryCompile configure of cmake failed

CMake Error at /usr/share/kde4/apps/cmake/modules/FindKDE4Internal.cmake:1297 (message):
Qt compiled without support for -fvisibility=hidden. This will break
plugins and linking of some applications. Please fix your Qt installation
(try passing --reduce-exports to configure).
Call Stack (most recent call first):
/usr/share/cmake-2.8/Modules/FindKDE4.cmake:95 (find_package)
CMakeLists.txt:19 (find_package)


-- Configuring incomplete, errors occurred!

Report

C

thomas12777

6 years ago

what i missed:
-- Found Qt-Version 5.0.1 (using /usr/bin/qmake)
^^^

CMake finds the wrong Qt - you'll have to
cd build
ccmake ..
and configure the correct path to qmake/qt - that's however a major issue on compiling each and everything KDE related.
Alternatively adjust your PATH environment so that qmake from Qt4 is has precendence.

Report

gadeshi

6 years ago

Compiling under KUbuntu Raring (QT4 & 5 installed):

==================== Bespin interactive configuration ====================

Seems you have cmake.
In addition to the style, you can have a KWin decoration,
a mac-like menu plasmoid and config plugins IFF you have KDE....

--> Do you want to compile with KDE support? [Y/n]
-- Found Qt-Version 5.0.1 (using /usr/bin/qmake)
CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake files:
QT_QT_INCLUDE_DIR
used as include directory in directory /opt/builds/cloudcity-code/build/CMakeFiles/CMakeTmp

CMake Error: Internal CMake error, TryCompile configure of cmake failed

CMake Error at /usr/share/kde4/apps/cmake/modules/FindKDE4Internal.cmake:1297 (message):
Qt compiled without support for -fvisibility=hidden. This will break
plugins and linking of some applications. Please fix your Qt installation
(try passing --reduce-exports to configure).
Call Stack (most recent call first):
/usr/share/cmake-2.8/Modules/FindKDE4.cmake:95 (find_package)
CMakeLists.txt:19 (find_package)


-- Configuring incomplete, errors occurred!

Report

C

thomas12777

6 years ago

QT_QT_INCLUDE_DIR isn't found.
Either the parallel installation of 4&5 screwed things or you just lack the *-dev package.
Could also be that Ubuntu has them conflictive and only allows the headers of one version.

In any case: after installing Qt5 next to formerly present Qt4, wipe any pre-existing config caches (ie. "rm -r build" - if you had one)

Report

vadiml

6 years ago

Under fedora 17.1 & kde 4.10 compile and install is OK, thanks

Report

SvenArcher

6 years ago

Hi Thomas,

Is there a way to disable the window title text emboss/inset effect?

My window title text is 7pt #1D1D1D on a #9B9B9B window & the emboss effect muddles the active window title text a bit.

Would it make sense to combine the text inset effect with the "more traditional button" kwin option selection? I.E. When traditional buttons are selected, the inset effect would be enabled. Otherwise the text would be flat like the button icons.

Just a thought. Thanks much for your work!

Report

C

thomas12777

6 years ago

The emboss is far too strong on that bg color (value) - i weakened it and also added a config option (since iff there's a style for Qt5 by me, it'll be rather flat ;-)

Report

SvenArcher

6 years ago

That's awesome. Thank you!

Report

6 years ago

SVN PATH UPDATE
Due to sf.net updates, the code is now tracked here:
svn checkout svn://svn.code.sf.net/p/cloudcity/code/ cloudcity-code

12345678910
447
product-maker Aerth7 Jan 20 2017 9 excellent
product-maker swansreflectingelephants Aug 22 2016 9 excellent
product-maker mea5 Dec 13 2015 3 bad
product-maker frodoom Jul 24 2015 9 excellent
product-maker fracaburda Apr 10 2015 9 excellent
product-maker janet Oct 12 2014 9 excellent
product-maker Petworth Aug 20 2014 9 excellent
product-maker MoonDragon Jul 14 2014 9 excellent
product-maker sfeist Feb 08 2014 3 bad
product-maker mreloads Dec 15 2013 9 excellent
product-maker donpedro69 Aug 16 2013 9 excellent
product-maker pvt14 Aug 02 2013 9 excellent
product-maker NikosAlexandris May 02 2013 9 excellent
product-maker RAIDENSUB Apr 26 2013 9 excellent
product-maker migue Apr 25 2013 9 excellent
product-maker unikum111 Apr 23 2013 9 excellent
product-maker oOSplashOo Mar 02 2013 9 excellent
product-maker elessartelrunya Feb 01 2013 9 excellent
product-maker lionhater Dec 26 2012 9 excellent
product-maker quinnuendo Oct 03 2012 9 excellent
product-maker sumski Jul 08 2012 9 excellent
product-maker linuxbear Jun 02 2012 9 excellent
product-maker podxboq Nov 06 2011 9 excellent
product-maker gravy Oct 17 2011 9 excellent
product-maker thecurseddevil Aug 22 2011 9 excellent
product-maker paperclip Jul 14 2011 9 excellent
product-maker tobaj Jun 29 2011 9 excellent
product-maker axed Jun 20 2011 9 excellent
product-maker zersaa May 28 2011 9 excellent
product-maker code933k May 22 2011 9 excellent
product-maker Drehatlas May 02 2011 9 excellent
product-maker NiphraDil Apr 21 2011 9 excellent
product-maker ladislavbonita Apr 03 2011 3 bad
product-maker e1nste1n Mar 26 2011 9 excellent
product-maker trebor Mar 02 2011 9 excellent
product-maker steveke Feb 10 2011 9 excellent
product-maker Mixi Feb 04 2011 9 excellent
product-maker Pyruzan Feb 02 2011 9 excellent
product-maker OdinEidolon Jan 30 2011 9 excellent
product-maker FSchulz Jan 27 2011 9 excellent
product-maker Titoux Jan 09 2011 9 excellent
product-maker marekm2 Jan 08 2011 9 excellent
product-maker table Jan 06 2011 9 excellent
product-maker SeaJey Jan 04 2011 9 excellent
product-maker deabru Jan 04 2011 9 excellent
product-maker Scnd101 Jan 04 2011 3 bad
product-maker annia Nov 07 2010 9 excellent
product-maker agaya Nov 01 2010 9 excellent
product-maker linuxfever Oct 29 2010 9 excellent
product-maker rickdesantis Oct 27 2010 9 excellent
product-maker sonay Sep 24 2010 9 excellent
product-maker Count: 4 Rating: 5.0

janet

Oct 12 2014

MoonDragon

Jul 14 2014

donpedro69

Oct 29 2013

oOSplashOo

Mar 02 2013

Thermidore

Feb 24 2013

vishal8492

Dec 14 2012

quinnuendo

Oct 03 2012

HardinComp

May 14 2012

SvenArcher

Dec 24 2011

gravy

Oct 17 2011

kustodian

Oct 14 2011

tobaj

Jul 19 2011

Mte90

Jul 10 2011

axed

Jun 20 2011

code933k

May 22 2011

Drehatlas

May 02 2011

apepechkov

Apr 15 2011

LGD

Mar 17 2011

Pyruzan

Feb 02 2011

OdinEidolon

Jan 30 2011

annia

Nov 07 2010

rickdesantis

Oct 27 2010

mickyz

Oct 18 2010

Kreisverkehr

Sep 29 2010

gomezhyuuga1

Sep 19 2010

AlejandroNova

Sep 01 2010

quadra

Aug 09 2010

zuargo

Jul 24 2010

tar-dingens

Jul 17 2010

jackyohh

Jul 11 2010

kalmar

Jul 03 2010

nerdykid

Jun 26 2010

MountainX

Jun 26 2010

NevidS

Jun 26 2010

linuxfever

Jun 18 2010

Ireyon

Jun 07 2010

a0hof

Jun 06 2010

takanowaka

May 18 2010

Raboch

Apr 10 2010

alexpowerovich

Apr 04 2010

mixman2009

Apr 01 2010

SeaJey

Mar 29 2010

lonk

Mar 17 2010

emtorres

Feb 23 2010

groo

Feb 14 2010

Stil-r

Feb 08 2010

Siminin

Feb 01 2010

maninalift

Jan 30 2010

LaCajita

Jan 30 2010

ed0

Jan 21 2010

Thalic

Jan 10 2010

evilkastel

Jan 05 2010

genericity

Dec 22 2009

BOSSoNe

Dec 17 2009

s1300045

Nov 23 2009

mck182

Nov 07 2009

solshark

Oct 31 2009

adee

Oct 11 2009

rahulthewall3000

Oct 04 2009

FSchulz

Sep 14 2009

kallube

Sep 06 2009

TheRob

Sep 04 2009

KDEfour-rob

Sep 01 2009

gmsh

Aug 28 2009

redsteakraw

Aug 22 2009

cjann

Aug 02 2009

buschmann23

Jul 01 2009

vmnogueira

Jun 24 2009

u0m3

May 30 2009

jtf2000x

May 14 2009

beojan

May 12 2009

peterhoeg

May 02 2009

baif

Apr 27 2009

agaya

Apr 24 2009

extra

Mar 30 2009

Montblanc

Mar 27 2009

avaddon

Mar 26 2009

lzfy

Mar 21 2009

passeryby

Mar 18 2009

BLeAm

Mar 17 2009

Samt43

Mar 14 2009

dreadhead

Mar 12 2009

eRSZ

Mar 01 2009

xbullethammer

Feb 27 2009

d3kFoX

Feb 24 2009

pvt14

Feb 14 2009

vanyar

Feb 12 2009

vicko

Feb 06 2009

ruans

Feb 05 2009

azuwis

Feb 01 2009

jotapesan

Feb 01 2009

Mandarancid

Jan 25 2009

Diablo

Jan 25 2009

deabru

Jan 22 2009

zammi

Jan 17 2009

Fri13

Jan 14 2009
File (click to download) Version Description Downloads Date Filesize DL OCS-Install
Pling
*Needs ocs-url or ocs-store to install things
Details
license
version
svn
updated Apr 25 2013
added Aug 08 2007
downloads 24h
0
page views 24h 16